2011-04-20 54 views

回答

4

由於Object.createproperty descriptors作爲輸入:

propertiesObject

如果指定,而不是undefined,一個對象,其可枚舉自己的屬性(即,沿着它的原型在其自身定義的那些性質,而不是枚舉的屬性鏈)指定要添加到新創建的對象的屬性描述符以及相應的屬性名稱。

value指:

value
與屬性相關聯的值。 (僅限數據描述符)。默認爲undefined

但作爲getFoo暗示,它可能是更好的將其定義爲訪問屬性

var my_obj = Object.create({}, { 
    foo: { 
     get: function(){ 
      return this._foo; }, 
     set: function(newValue){ 
      this._foo = newValue; 
     } 
    } 
}); 
0

其實..它只是因爲你設置的值等於一個功能。

如果您嘗試以匿名方式運行該功能,則必須在聲明後包含該功能。觀察:

x = { y : function(){return 2;}} 

x.y 
function(){return 2;} 

x = {y : function(){return 2;}()} 

x.y 
2 

注意函數聲明後的尾部()。

對不起1行代碼,來自javascript控制檯。

相關問題