美文网首页程序员让前端飞
JS动态创建对象的属性详解

JS动态创建对象的属性详解

作者: 88b61f4ab233 | 来源:发表于2018-12-22 15:56 被阅读7次

    面向对象的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
    

    相关文章

      网友评论

        本文标题:JS动态创建对象的属性详解

        本文链接:https://www.haomeiwen.com/subject/fvgikqtx.html