javascript - 對(duì)象數(shù)據(jù)和訪問(wèn)器可配置和可枚舉特性默認(rèn)的不是true嗎?
問(wèn)題描述
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 對(duì)象默認(rèn)的可配置屬性和可枚舉屬性是true吧 示例代碼未設(shè)置這兩個(gè)屬性,默認(rèn)的應(yīng)該為true吧PS:紅寶書6.1.3(24印143頁(yè))
問(wèn)題解答
回答1:對(duì)象默認(rèn)的可配置屬性和可枚舉屬性是true吧
這個(gè)沒(méi)錯(cuò),但是這個(gè)指的是不使用defineProperty或者defineProperties的時(shí)候,使用它們的時(shí)候,那兩個(gè)屬性默認(rèn)為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:這個(gè)API手冊(cè)里面有說(shuō)明,默認(rèn)為false。
回答3:紅包書上說(shuō)的是,對(duì)于直接在對(duì)象上定義的屬性,他們默認(rèn)值為true;類似這樣,`
var book = { a: 1 //默認(rèn)configurable就是ture}//以下不同Object.defineProperty(book,{ b:{value: 5 //為配置configurable,則默認(rèn)false }, c:{value:4,configurable: true //有配置,為true }})
`我抽出了我的紅包書,對(duì),他就是說(shuō)的直接定義在對(duì)象上的屬性,configurable特性默認(rèn)為true,不行,你可以輸出‘a(chǎn)’,’b’,’c’的configurable值
相關(guān)文章:
1. objective-c - 微信快捷發(fā)送最近一張圖片是如何實(shí)現(xiàn)的?2. PHP單例模式3. mysql 5萬(wàn)張表 導(dǎo)出成sql 不要內(nèi)容,只要結(jié)構(gòu),非常慢。如何解決啊?4. mysql - eclispe無(wú)法打開(kāi)數(shù)據(jù)庫(kù)連接5. 數(shù)據(jù)庫(kù) - mysql中有沒(méi)查看數(shù)據(jù)大小的函數(shù)??6. mysql無(wú)法刪除字段(錯(cuò)誤1091),但是對(duì)該字段設(shè)置主鍵后就可刪除,為什么?7. 老師 我是一個(gè)沒(méi)有學(xué)過(guò)php語(yǔ)言的準(zhǔn)畢業(yè)生 我希望您能幫我一下8. mysql如何配置遠(yuǎn)程php外網(wǎng)鏈接數(shù)據(jù)庫(kù)9. 導(dǎo)入數(shù)據(jù)庫(kù)不成功10. mysql如何判斷數(shù)據(jù)不存在則插入呢?
