久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

javascript - 對象數據和訪問器可配置和可枚舉特性默認的不是true嗎?

瀏覽:132日期:2023-05-12 17:29:50

問題描述

var book = {};Object.defineProperties(book, {_year: { value: 2004},edition: { value: 1},year: {get: function(){return this._year; },set: function(newValue){if (newValue > 2004) { this._year = newValue; this.edition += newValue - 2004;} } } }); var descriptor = Object.getOwnPropertyDescriptor(book, '_year'); alert(descriptor.value); //2004 alert(descriptor.configurable); //false alert(typeof descriptor.get); //'undefined'var descriptor = Object.getOwnPropertyDescriptor(book, 'year'); alert(descriptor.value); //undefined alert(descriptor.enumerable); //false alert(typeof descriptor.get); //'function'

以下這兩行看不懂 alert(descriptor.configurable); //false alert(descriptor.enumerable); //false 對象默認的可配置屬性和可枚舉屬性是true吧 示例代碼未設置這兩個屬性,默認的應該為true吧PS:紅寶書6.1.3(24印143頁)

問題解答

回答1:

對象默認的可配置屬性和可枚舉屬性是true吧

這個沒錯,但是這個指的是不使用defineProperty或者defineProperties的時候,使用它們的時候,那兩個屬性默認為false。

Enumerable properties are those properties whose internal [[Enumerable]] flag is set to true, which is the default for properties created via simple assignment or via a property initializer (properties defined via Object.defineProperty and such default [[Enumerable]] to false).

defineProperties

回答2:

這個API手冊里面有說明,默認為false。

回答3:

紅包書上說的是,對于直接在對象上定義的屬性,他們默認值為true;類似這樣,`

var book = { a: 1 //默認configurable就是ture}//以下不同Object.defineProperty(book,{ b:{value: 5 //為配置configurable,則默認false }, c:{value:4,configurable: true //有配置,為true }})

`我抽出了我的紅包書,對,他就是說的直接定義在對象上的屬性,configurable特性默認為true,不行,你可以輸出‘a’,’b’,’c’的configurable值

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 崇左市| 石城县| 航空| 华亭县| 曲沃县| 玉屏| 那曲县| 东乡族自治县| 黔东| 顺昌县| 莫力| 汉川市| 肃宁县| 岚皋县| 濉溪县| 罗定市| 定州市| 宁海县| 垫江县| 家居| 抚宁县| 应用必备| 含山县| 石泉县| 临泽县| 莎车县| 成都市| 天峨县| 衡南县| 南川市| 古田县| 泗阳县| 房山区| 鲁甸县| 汉沽区| 威远县| 怀远县| 玉门市| 高淳县| 大厂| 肥东县|