zepto.js 有添加类和扩展子类的方法吗?
一个相关的问题是:Coffeescript 是否实际上让您能够编写类并扩展它们,而无需像原型这样具有特定方法的库?
zepto.js 有添加类和扩展子类的方法吗?
一个相关的问题是:Coffeescript 是否实际上让您能够编写类并扩展它们,而无需像原型这样具有特定方法的库?
Zepto.js 源代码的浏览显示它有一个$.extend
可能工作的方法,但它更多的是两个对象实现的合并,而不是传统的继承模型(它将提供像 Super 访问器之类的东西。)
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;
}();