2011-04-20 56 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控制台。

相关问题