面向对象的 JavaScript 在客户端编码时提供了极大的灵活性, JavaScript 对象上的属性有助于设置可在对象内使用以管理和使用数据的值.
我对 JavaScript 中属性的理解, 在 JavaScript 中, 可以通过在文字对象上定义变量来创建属性.
例如
- var obj = {
- property1: '',
- property2: ''
- };
现在可以通过使用来访问这些属性
- obj.property1 = 'some value';
- obj.property2 = 'some other value';
同样, 类似地, 它们也可以在对象 Object 内的函数内使用.
例如:
- var obj = {
- property1: '',
- property2: '',
- foo : function(){
- console.log(obj.property1);
- }};
前端全栈学习交流圈: 866109386, 面向 1-3 经验年前端开发人员, 帮助突破技术瓶颈, 提升思维能力, 群内有大量 PDF 可供自取, 更有干货实战项目视频进群免费领取.
现在我们知道如何在 JavaScript 对象上创建属性, 让我们看看如何在 JavaScript 上创建动态属性
有两种方法可以做到这一点
在 JavaScript 对象上定义类似于 Array 的动态属性
让我们采用与上面相同的例子:
- var obj = {
- property1: '',
- property2: ''
- };
在对象 Objo 上创建动态属性, 我们可以这样做:
obj['property_name'] = 'some_value';
它的作用是, 它在对象上创建一个 obj 新属性可以访问它作为 console.log(obj.property_name);
这将在控制台上输出值 some_value
使用 Object.defineProperty 定义动态属性.
例:
- // Example of an object property added with defineProperty with a data property descriptor
- Object.defineProperty(obj, "property3", {value : 'some value',
- writable : true,
- enumerable : true,
- configurable : true});
- // 'property3' property exists on object obj and its value is 37
来源: http://www.jianshu.com/p/253d8c29910f