Вопрос

У Zepto.js есть способ добавления классов и простирание с подклассами?

Подсоединенный вопрос: CoffeeScript дает вам, по существу, возможность писать классы и расширить их без необходимости библиотеки, такой как прототип, который имеет определенные методы для этого?

Это было полезно?

Решение

Скима источника Zepto.js показывает, что имеет $.extend Метод, который может работать, но это скорее объединение двух объектов внедрения, чем традиционная модель наследования (которая обеспечила бы такие вещи, как Super Accessors.)

CoffeeScript генерирует код, необходимый для того, чтобы дать вам типичную модель наследования, которую вы можете / не можете искать.

в:

class Person
    constructor: (@name) ->

class Ninja extends Person`

из:

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;
}();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top