javascript包裝對(duì)象實(shí)例分析
本文實(shí)例講述了javascript包裝對(duì)象用法。分享給大家供大家參考。具體分析如下:
js對(duì)象是一種復(fù)合值:它是屬性或已命名值得集合。
參考以下代碼:
var s = "hello world"; var len = s.length;
在該例子中,s是字符串,而字符串不是對(duì)象,但為何會(huì)有屬性呢?其實(shí)只要引用了字符串s的屬性,js就會(huì)將字符串通過調(diào)用new String(s)的方式轉(zhuǎn)換為對(duì)象,該對(duì)象繼承了字符串的方法,并被用來處理屬性的引用;一旦屬性引用結(jié)束,這個(gè)新創(chuàng)建的對(duì)象就會(huì)被銷毀(在實(shí)現(xiàn)上并不一定創(chuàng)建或銷毀這個(gè)臨時(shí)對(duì)象,但整個(gè)過程看來是這樣)。
同字符串一樣,數(shù)字和布爾值也具有各自的方法:通過Number()單核Boolean()構(gòu)造函數(shù)創(chuàng)建臨時(shí)對(duì)象,這些方法的調(diào)用都是來自于這個(gè)臨時(shí)對(duì)象;然而null和undefined沒有包裝對(duì)象:訪問他們的屬性會(huì)造成類型錯(cuò)誤。
比如以下代碼:
var s0 = "hello world"; s0.len = 100; var t = s.len; //t的值將為undefined
因?yàn)榈?行創(chuàng)建臨時(shí)對(duì)象后,立即將其銷毀;第三行通過原始的字符串值創(chuàng)建一個(gè)新字符串對(duì)象,嘗試讀取其len屬性,自然不存在。這段代碼說明在讀取字符串、數(shù)字和布爾值的屬性值或方法時(shí),表現(xiàn)的像對(duì)象一樣。但如果你試圖給其屬性賦值,則會(huì)忽略這個(gè)操作:修改只是發(fā)生在臨時(shí)對(duì)象上,而這個(gè)臨時(shí)對(duì)象并未繼續(xù)保留下來。
存取字符串、數(shù)字或布爾值的屬性時(shí)臨時(shí)創(chuàng)建臨時(shí)對(duì)象稱為包裝對(duì)象。
我們可以顯示建立一個(gè)字符串對(duì)象然后增添它的屬性,自然該屬性會(huì)一直保留下來:
var str = "hello world"; var objs = new String(str); objs.len = 100; var t = objs.len; //t將被賦值為100
js會(huì)在必要時(shí)將包裝對(duì)象轉(zhuǎn)換為原始值因此顯示創(chuàng)建的對(duì)象和其對(duì)應(yīng)的原始值常常但不總是表現(xiàn)的一樣。==運(yùn)算符將原始值和其包裝對(duì)象視為相等;但===全等運(yùn)算符將他們視為不等;另外通過typeof運(yùn)算符可以看到原始值和包裝對(duì)象的不同。
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
相關(guān)文章
你可能不需要在JavaScript使用switch語(yǔ)句
這篇文章主要介紹了你可能不需要在JavaScript使用switch語(yǔ)句,對(duì)switch性能感興趣的同學(xué),可以參考下2021-04-04
getElementsByTagName vs selectNodes效率 及兼容的selectNodes實(shí)現(xiàn)
天在csdn上看到有人問 getElementsByTagName 和 selectNodes誰(shuí)更快 ,這個(gè)還真沒研究過。2010-02-02
JavaScript將Web頁(yè)面內(nèi)容導(dǎo)出到Word及Excel的方法
這篇文章主要介紹了JavaScript將Web頁(yè)面內(nèi)容導(dǎo)出到Word及Excel的方法,涉及javascript操作ActiveXObject控件的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
javascript省市級(jí)聯(lián)功能實(shí)現(xiàn)方法實(shí)例詳解
這篇文章主要介紹了javascript省市級(jí)聯(lián)功能實(shí)現(xiàn)方法,以不同實(shí)例形式分析了JavaScript實(shí)現(xiàn)省市級(jí)聯(lián)菜單的具體技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10
JavaScript設(shè)計(jì)模式之代理模式簡(jiǎn)單實(shí)例教程
這篇文章主要介紹了JavaScript設(shè)計(jì)模式之代理模式,簡(jiǎn)單描述了代理模式的概念、功能、組成并結(jié)合實(shí)例形式較為詳細(xì)的分析了javascript代理模式的定義與使用相關(guān)操作技巧,需要的朋友可以參考下2018-07-07

