JavaScript中的包裝對(duì)象介紹
javascript對(duì)象是一種復(fù)合值,它是屬性或已命名的值的集合,通過符號(hào)"."來引用屬性值,當(dāng)屬性值是一個(gè)函數(shù)的時(shí)候,我們稱之為方法。我們看到字符串也具有屬性和方法:
var s="hello,world!";
var word=s.substring(s.indexof("")+1,s.length);
字符串既然不是對(duì)象,為什么它又有屬性呢,只要引用了字符串s的屬性,javascript就會(huì)將字符串值通過調(diào)用new String(s)的構(gòu)造函數(shù)轉(zhuǎn)換成對(duì)象,這個(gè)對(duì)象繼承了字符串的方法,并用來處理對(duì)屬性的引用,一旦屬性引用結(jié)束,這個(gè)新創(chuàng)建的對(duì)象就會(huì)被銷毀(其實(shí)實(shí)現(xiàn)上并不一定會(huì)創(chuàng)建這個(gè)對(duì)象,只是整個(gè)過程看起來這樣)。
同字符串一樣,數(shù)字和布爾值也具有各自的方法:通過Number()和Boolean()構(gòu)造函數(shù)創(chuàng)建一個(gè)臨時(shí)對(duì)象,這些方法的調(diào)用均來自這個(gè)臨時(shí)對(duì)象。這個(gè)臨時(shí)對(duì)象被稱之為包裝對(duì)象。
注意 :
var s="test"; //聲明一個(gè)字符串
s.len=4; //給它設(shè)置一個(gè)len屬性
var t=s.len; //查詢這個(gè)屬性
這個(gè)時(shí)候我們輸出t時(shí)應(yīng)當(dāng)為undefined,第二行代碼創(chuàng)建一個(gè)臨時(shí)字符串對(duì)象,并給其len屬性賦值為4,隨即銷毀這個(gè)對(duì)象,第三行代碼通過原始的字符串值s設(shè)置一個(gè)新的屬性,嘗試讀取其len屬性,這個(gè)屬性自然不存在,所以t輸出時(shí)值為undefined。
這段代碼表明,在讀取數(shù)字,字符串,布爾值的屬性值(或方法)時(shí),表現(xiàn)得像對(duì)象一樣,但試圖給其屬性賦值時(shí),則會(huì)忽略這個(gè)操作:修改只是發(fā)生在臨時(shí)對(duì)象上,而這個(gè)臨時(shí)對(duì)象并未繼續(xù)保留下來。
存取字符串、數(shù)字、或布爾值的屬性時(shí)創(chuàng)建的臨時(shí)對(duì)象稱作包裝對(duì)象,它只是偶爾用來區(qū)分字符串值和字符串對(duì)象,數(shù)字和數(shù)值對(duì)象,布爾值和布爾對(duì)象
相關(guān)文章
js函數(shù)的引用, 關(guān)于內(nèi)存的開銷
函數(shù)的引用, 對(duì)于內(nèi)存的開銷分析,需要的朋友可以參考下2012-09-09使用 Jest 和 Supertest 進(jìn)行接口端點(diǎn)測(cè)試實(shí)例詳解
這篇文章主要介紹了使用 Jest 和 Supertest 進(jìn)行接口端點(diǎn)測(cè)試,結(jié)合實(shí)例形式詳細(xì)分析了使用 Jest 和 Supertest 進(jìn)行接口端點(diǎn)測(cè)試具體原理、操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2020-04-04基于JS抓取某高校附近共享單車位置 使用web方式展示位置變化代碼實(shí)例
這篇文章主要介紹了基于JS抓取某高校附近共享單車位置 使用web方式展示位置變化代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08js實(shí)現(xiàn)的簡(jiǎn)練高效拖拽功能示例
這篇文章主要介紹了js實(shí)現(xiàn)的簡(jiǎn)練高效拖拽功能,通過對(duì)js鼠標(biāo)事件的擴(kuò)展實(shí)現(xiàn)拖拽效果,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2016-12-12JavaScript實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁飄落的雪花
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁飄落的雪花,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06Bootstrap基本插件學(xué)習(xí)筆記之輪播幻燈片(23)
這篇文章主要為大家詳細(xì)介紹了Bootstrap基本插件學(xué)習(xí)筆記之輪播幻燈片的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12ES6 fetch函數(shù)與后臺(tái)交互實(shí)現(xiàn)
最近在學(xué)習(xí)react-native,遇到調(diào)用后端接口的問題??戳丝垂俜轿臋n,推薦使用es6的fetch來與后端進(jìn)行交互,這篇文章主要介紹了ES6 fetch函數(shù)與后臺(tái)交互實(shí)現(xiàn),感興趣的小伙伴們可以參考一下2018-11-11