美文网首页js进阶
JS对象数据属性和访问器属性

JS对象数据属性和访问器属性

作者: luckyQAQ | 来源:发表于2018-07-15 10:48 被阅读0次

    1.数据属性

    定义在对象内部的叫做数据,数据具有属性:4个属性如下

    前三个默认都是true,最后一个默认是undefined

    1.Configurable:是否可以被delete删除,

    2.Enumerable:是否能通过for-in循环遍历,

    3.Writable:是否可以修改属性的值,

    4.Value:保存这个属性的数据值

    要修改属性默认的特性,必须使用 ECMAScript 5的 Object.defineProperty()方法

    defineProperty使用举例

    而且,一旦把属性定义为不可配置的, 就不能再把它变回可配置了。此时,再调用 Object.defineProperty()方法修改除 writable 之外 的特性,都会导致错误


    除了writable 无法再次修改属性

    2.访问器属性

    访问器属性不包含数据值。它包含一对getter和setter函数。当读取访问器属性时,会调用getter函数并返回有效值;当写入访问器属性时,会调用setter函数并传入新值,setter函数负责处理数据。该属性有四个特性:

    1.[[Configurable]]:默认为true。表示能否通过delete删除属性从而重新定义属性,能否修改属性特性,或者能否把属性修改为访问器属性;

    2.[[Enumerable]]:默认为true。表示能否通过for-in循环返回属性;

    3.[[Get]]:读取属性时调用的函数,默认为undefined;

    4.[[Set]]:写入属性时调用的函数,默认为undefined。

    其实,通过_name还是可以访问到的

    其他:

    定义多个属性:Object.defineProperties()

    读取属性的特性:Object.getOwnPropertyDescriptor()

    相关文章

      网友评论

        本文标题:JS对象数据属性和访问器属性

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