最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中的對(duì)象的extensible屬性介紹

 更新時(shí)間:2014年12月30日 09:22:13   投稿:junjie  
這篇文章主要介紹了JavaScript中的對(duì)象的extensible屬性介紹,JavaScript中,對(duì)象的extensible屬性用于表示是否允許在對(duì)象中動(dòng)態(tài)添加新的property,需要的朋友可以參考下

JavaScript中,對(duì)象的extensible屬性用于表示是否允許在對(duì)象中動(dòng)態(tài)添加新的property。ECMAScript 3標(biāo)準(zhǔn)中,所有的對(duì)象都是extensible的。ECMAScript 5標(biāo)準(zhǔn)中,所有的對(duì)象默認(rèn)仍是extensible的,但可以通過(guò)設(shè)定來(lái)改變這一屬性。

查詢一個(gè)對(duì)象是否是extensible的,可以使用Object.isExtensible()語(yǔ)句:


復(fù)制代碼 代碼如下:

var o = {x:1};
console.log(Object.isExtensible(o));//true


使一個(gè)對(duì)象變成不是extensible的,可以使用Object.preventExtensions()語(yǔ)句:


復(fù)制代碼 代碼如下:

Object.preventExtensions(o)
console.log(Object.isExtensible(o));//false


值得注意的是,由于沒(méi)有Object.preventExtensions()的反操作語(yǔ)句,因此一旦某個(gè)對(duì)象被設(shè)定為非extensible后,將沒(méi)有辦法重新再將其設(shè)定為extensible。

Object.preventExtensions()語(yǔ)句作用的范圍是對(duì)象自身,原型對(duì)象不受影響。如果某個(gè)對(duì)象被設(shè)定為非extensible,那么其原型對(duì)象中依然可以動(dòng)態(tài)添加property,而這些動(dòng)態(tài)添加的property也依然可以被對(duì)象繼承到。

Object.seal()和Object.freeze()

Object.preventExtensions()可以防止在對(duì)象中動(dòng)態(tài)添加新的property。除了這個(gè)操作,JavaScript中還存在另外兩個(gè)更加嚴(yán)格的操作來(lái)保護(hù)對(duì)象:Object.seal()和Object.freeze()。

Object.seal()的作用是在Object.preventExtensions()的基礎(chǔ)上,設(shè)定所有對(duì)象自身property的configurable屬性為false。與Object.preventExtensions()操作一樣,Object.seal()沒(méi)有反操作,因此一旦將對(duì)象seal了之后將無(wú)法恢復(fù)其狀態(tài)。在JavaScript中,可以通過(guò)Object.isSealed()來(lái)查詢某個(gè)對(duì)象是否被seal了。

Object.freeze()的作用是在Object.seal()的基礎(chǔ)上,將所有對(duì)象自身的property設(shè)定為只讀。與Object.seal()和Object.preventExtensions()操作一樣,Object.freeze()沒(méi)有反操作,因此一旦將對(duì)象freeze了之后將無(wú)法恢復(fù)其狀態(tài)。在JavaScript中,可以通過(guò)Object.isFrozen()來(lái)查詢某個(gè)對(duì)象是否被freeze了。


復(fù)制代碼 代碼如下:

console.log(Object.isSealed(o));//false
Object.seal(o);
console.log(Object.isSealed(o));//true
console.log(Object.isFrozen(o));//false
Object.freeze(o);
console.log(Object.isFrozen(o));//true


無(wú)論是Object.preventExtensions(),還是Object.seal()和Object.freeze(),其作用范圍均為對(duì)象自身,對(duì)象的原型對(duì)象將不受影響。

相關(guān)文章

  • Javascript操縱Cookie實(shí)現(xiàn)購(gòu)物車(chē)程序

    Javascript操縱Cookie實(shí)現(xiàn)購(gòu)物車(chē)程序

    Javascript操縱Cookie實(shí)現(xiàn)購(gòu)物車(chē)程序...
    2006-11-11
  • 微信小程序tabbar底部導(dǎo)航

    微信小程序tabbar底部導(dǎo)航

    這篇文章主要為大家詳細(xì)介紹了微信小程序重寫(xiě)tabbar底部導(dǎo)航,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • echarts學(xué)習(xí)之如何給餅圖中間添加文字

    echarts學(xué)習(xí)之如何給餅圖中間添加文字

    這篇文章主要介紹了echarts學(xué)習(xí)之如何給餅圖中間添加文字問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • JS生態(tài)系統(tǒng)加速Tailwind?CSS工作原理探究

    JS生態(tài)系統(tǒng)加速Tailwind?CSS工作原理探究

    這篇文章主要為大家介紹了JS?生態(tài)系統(tǒng)加速Tailwind?CSS使用及工作原理探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • JavaScript實(shí)現(xiàn)私有屬性的幾種方式小結(jié)

    JavaScript實(shí)現(xiàn)私有屬性的幾種方式小結(jié)

    在JavaScript中,私有屬性是指只能在對(duì)象內(nèi)部訪問(wèn)的屬性,外部無(wú)法直接訪問(wèn),JavaScript并沒(méi)有提供官方的私有屬性的支持,但可以通過(guò)一些技巧來(lái)模擬實(shí)現(xiàn)私有屬性,所以本文給大家總結(jié)了JavaScript實(shí)現(xiàn)私有屬性的幾種方式,需要的朋友可以參考下
    2024-04-04
  • Webpack處理js資源(Eslint、Babel)

    Webpack處理js資源(Eslint、Babel)

    Webpack對(duì)js處理是有限的,只能編譯js中ES模塊化語(yǔ)法,不能編譯其他語(yǔ)法,導(dǎo)致js不能在IE等瀏覽器運(yùn)行,本文主要介紹了Webpack處理js資源,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • js格式化時(shí)間的方法

    js格式化時(shí)間的方法

    這篇文章主要介紹了js格式化時(shí)間的方法,對(duì)javascript時(shí)間格式化的方法進(jìn)行了總結(jié),感興趣的小伙伴們可以參考一下
    2015-12-12
  • 最新評(píng)論

    陵水| 静海县| 民丰县| 宁陕县| 长兴县| 始兴县| 自治县| 扬州市| 申扎县| 饶阳县| 台中市| 沙雅县| 孟州市| 鄂州市| 江阴市| 尚义县| 泽普县| 始兴县| 汾阳市| 南部县| 新昌县| 淅川县| 吕梁市| 巩留县| 将乐县| 家居| 海宁市| 昭苏县| 清水县| 洛川县| 兴国县| 井研县| 晋城| 九江市| 西安市| 江山市| 公主岭市| 西丰县| 灌云县| 芜湖市| 江都市|