Frage

Does Zepto.js haben ein Verfahren für die Klassen hinzugefügt und sich mit den Unterklassen?

Eine verbundene Frage ist: ist Coffeescript geben Sie in der Tat, die Fähigkeit zu schreiben Klassen und erweitern sie, ohne eine Bibliothek wie Prototyp benötigt, die bestimmte Methoden zu tun hat, so

War es hilfreich?

Lösung

Eine Skim der Zepto.js Quelle zeigt es hat eine $.extend Methode, die arbeiten kann, aber es ist eher eine Verschmelzung von zwei Objekten Implementierung als ein traditionelles Vererbungsmodell (die Dinge wie Super Accessoren bieten würde.)

Coffeescript wird der Code generiert erforderlich Ihnen das typische Vererbungsmodell geben Sie können / dürfen nicht suchen.

in:

class Person
    constructor: (@name) ->

class Ninja extends Person`

aus:

var Ninja, Person;
var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) {
  for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; }
  function ctor() { this.constructor = child; }
  ctor.prototype = parent.prototype;
  child.prototype = new ctor;
  child.__super__ = parent.prototype;
  return child;
};
Person = function() {
  function Person(name) {
    this.name = name;
  }
  return Person;
}();
Ninja = function() {
  function Ninja() {
    Ninja.__super__.constructor.apply(this, arguments);
  }
  __extends(Ninja, Person);
  return Ninja;
}();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top