繁体   English   中英

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

[英]How I can set property of object properties?(js)

我使用js,我想要对象属性的set属性

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

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

目前, a是原始类型( number )。 您可以更新它的其他任何变量:

 var a = 42; a = 43; console.log(a); 


如果需要对象,则有两种选择 - 将a定义为对象并更改value属性,或将a重新分配a具有value属性的对象。

方法一:

 var a = { value: 42 }; a.value = 43; console.log(a); 

方法2:

 var a = 42; a = { value: 43 }; console.log(a); 

要在javascript中扩展对象的属性,可以使用Object已经拥有的prototype proterty。

所有javascript对象都是Object实例,并从Object.prototype继承。 所以你可以扩展这个类的属性,将属性添加到javascript中的任何其他对象,如下所示:

var a = 42;
Object.prototype.getValue = 43;
document.write(a.getValue); // output should be 43.

这里看到j​​sfiddle示例。

对于Number这样的对象,这是可能的:

 var a = new Number(42) a.value = 43 console.log( a.value ) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM