Domanda

zepto.js

ha un metodo per aggiungere classi e sottoclassi allungabile con?

Una domanda collegata è:? Non CoffeeScript dati, in effetti, la capacità di lezioni di scrittura e si estendono senza bisogno di una libreria come prototipo che ha metodi specifici di farlo

È stato utile?

Soluzione

Un scremato degli spettacoli sorgente Zepto.js ha un metodo $.extend che può funzionare, ma è più di una fusione di attuazione due oggetti di un modello di ereditarietà tradizionale (che fornirebbe cose come Super di accesso.)

CoffeeScript genererà il codice necessario per dare il modello di ereditarietà tipici che si possono / non può chiedere.

in:

class Person
    constructor: (@name) ->

class Ninja extends Person`

out:

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;
}();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top