为什么这个特定的JavaScript代码是这样工作的?
为什么函数是为什么这个特定的JavaScript代码是这样工作的?,javascript,Javascript,为什么函数是getFoo而不是value propertiesObject 如果已指定且未定义,则其可枚举自身属性(即在其自身上定义的属性,而不是其原型链上的可枚举属性)的对象将指定要添加到新创建对象的属性描述符以及相应的属性名称 而值表示: 值 与属性关联的值。(仅限数据描述符)。默认为未定义 但正如getFoo所暗示的,最好将其定义为访问器属性: 因为需要输入: propertiesObject 如果已指定且未定义,则其可枚举自身属性(即在其自身上定义的属性,而不是其原型链上的可枚举属性)的
getFoo
而不是value
propertiesObject
如果已指定且未定义,则其可枚举自身属性(即在其自身上定义的属性,而不是其原型链上的可枚举属性)的对象将指定要添加到新创建对象的属性描述符以及相应的属性名称
而值
表示:
值
与属性关联的值。(仅限数据描述符)。默认为
未定义
但正如getFoo
所暗示的,最好将其定义为访问器属性:
因为需要输入:
propertiesObject
如果已指定且未定义,则其可枚举自身属性(即在其自身上定义的属性,而不是其原型链上的可枚举属性)的对象将指定要添加到新创建对象的属性描述符以及相应的属性名称
而值
表示:
值
与属性关联的值。(仅限数据描述符)。默认为
未定义
但正如getFoo
所暗示的,最好将其定义为访问器属性:
实际上。。这只是因为您将值设置为等于一个函数 如果您试图匿名运行该函数,则必须在声明之后包含该函数。注意:
var my_obj = Object.create({}, {
foo: {
get: function(){
return this._foo; },
set: function(newValue){
this._foo = newValue;
}
}
});
注意函数声明后的尾随()
抱歉,这是一行代码,直接来自javascript控制台。实际上。。这只是因为您将值设置为等于一个函数 如果您试图匿名运行该函数,则必须在声明之后包含该函数。注意:
var my_obj = Object.create({}, {
foo: {
get: function(){
return this._foo; },
set: function(newValue){
this._foo = newValue;
}
}
});
注意函数声明后的尾随()
抱歉,这是一行代码,来自javascript控制台
x = { y : function(){return 2;}}
x.y
function (){return 2;}
x = {y : function(){return 2;}()}
x.y
2