javascript动态创建对象的属性详解
面向对象的JavaScript在客户端编码时提供了极大的灵活性,Javascript对象上的属性有助于设置可在对象内使用以管理和使用数据的值。
我对JavaScript中属性的理解,在javascript中,可以通过在文字对象上定义变量来创建属性。
例如
varobj={ property1:'', property2:'' };
现在可以通过使用来访问这些属性
obj.property1='somevalue'; obj.property2='someothervalue';
同样,类似地,它们也可以在对象Object内的函数内使用。
例如:
varobj={ property1:'', property2:'', foo:function(){ console.log(obj.property1); }};
现在我们知道如何在javascript对象上创建属性,让我们看看如何在Javascript上创建动态属性
有两种方法可以做到这一点
在Javascript对象上定义类似于Array的动态属性
让我们采用与上面相同的例子:
varobj={ property1:'', property2:'' };
在对象Objo上创建动态属性,我们可以这样做:
obj['property_name']='some_value';
它的作用是,它在对象上创建一个obj新属性可以访问它作为console.log(obj.property_name);
这将在控制台上输出值some_value
使用Object.defineProperty定义动态属性。
例:
//ExampleofanobjectpropertyaddedwithdefinePropertywithadatapropertydescriptor Object.defineProperty(obj,"property3",{value:'somevalue', writable:true, enumerable:true, configurable:true}); //'property3'propertyexistsonobjectobjanditsvalueis37