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));

原文地址:https://www.cnblogs.com/-ding/p/5632267.html