天天看點

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() {

形式代碼。現在看來就是js數組元素。

js中所有東西都看成對象。下面這段代碼中。original就是一個數組對象。original.ask就是使用對象通路的方式,通路數組的一個元素

original.ask.call(changed));

繼續閱讀