js理解对象属性

阅读数:45 评论数:0

跳转到新版页面

分类

html/css/js

正文

一、属性类型

1、数据属性

(1)configurable

表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性。

(2)enumerable

表示能否通过for-in循环访问属性。

(3)writable

表示能否修改属性的值。

(4)value

包含这个属性的数据值。

var person = {};
object.defineProperty(person,"name",{
    writable: false,
    value: 'zhang',
});

2、访问器属性

访问器属性不包含数据值,它们包含一对儿getter和setter函数(不过,这两上函数都不是必需的)

在读取访问器属性时,会调用getter函数,在写入访问器属性时,会调用setter函数。

(1)configuration

表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为数据属性。

(2)enumerable

表示能否通过for-in循环访问属性。

(3)get

在读取属性时调用的函数

(4)set

在写入属性时调用的函数。

Object.defineProperty(book,"year",{
    get: function(){
      return this._year;
    };
    set: function(newValue){
      if(newValue > 2004){
         this._year = newValue;
      }
    };
});



相关推荐

一、生命周期 1、vue2生命周期 beforeCreate #实例初始化之后,进行数据侦听和事件/侦听器的配置之前同步调用 created #实例创建完成后被立即同步调用 beforeMount #