我使用js,并且想要设置对象属性的属性
var a=42
Object.defineProperty(this,"a",{value:43} )//Error
定义后如何设置对象属性的属性。
答案 0 :(得分:0)
当前,a
是原始类型(number
)。您可以像更新任何其他变量一样对其进行更新:
var a = 42;
a = 43;
console.log(a);
如果需要对象,则有两个选择-将a
定义为对象并更改value
属性,或将a
重新分配为带有{{1}的对象}属性。
方法一:
value
方法2:
var a = {
value: 42
};
a.value = 43;
console.log(a);
答案 1 :(得分:0)
要在javascript中扩展对象的属性,请使用prototype
已拥有的Object
属性。
所有javascript对象都是Object
的实例,并继承自Object.prototype
。因此,您可以扩展此类的属性以向javascript中的任何其他对象添加属性,如下所示:
var a = 42;
Object.prototype.getValue = 43;
document.write(a.getValue); // output should be 43.
请参阅jsfiddle示例here。
答案 2 :(得分:0)
对于Number
之类的对象,这是可能的:
var a = new Number(42)
a.value = 43
console.log( a.value )