js代码定义类代码的领悟
var Class = {
create: function() {
return function() { this.initialize.apply(this, arguments); }
}
}
与下面代码对比看看,会明白什么?
var changed={ item:"banana", act: "eating" };
var original={
item: "chair",
act: "sitting in",
ask: function(){
return "who's been "+this.act+" my "+this.item;
}
};
原来,上面定义类的方式,就是使用一个数组。create就是数组的一个键。它的值是一个funciton。之前没明白,
create: function() {
return function() { this.initialize.apply(this, arguments); }
}
形式代码。现在看来就是js数组元素。
js中所有东西都看成对象。下面这段代码中。original就是一个数组对象。original.ask就是使用对象访问的方式,访问数组的一个元素
original.ask.call(changed));