如何设置对象属性的属性?(js)

时间:2019-06-07 22:28:29

标签: javascript object defineproperty

我使用js,并且想要设置对象属性的属性

var a=42
Object.defineProperty(this,"a",{value:43} )//Error

定义后如何设置对象属性的属性。

3 个答案:

答案 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 )