- 相關推薦
關于JavaScript中的包裝對象介紹
javascript對象是一種復合值,它是屬性或已命名的值的集合,通過符號"."來引用屬性值,當屬性值是一個函數(shù)的時候,我們稱之為方法。我們看到字符串也具有屬性和方法:
復制代碼 代碼如下:
var s="hello,world!";
var word=s.substring(s.indexof("")+1,s.length);
字符串既然不是對象,為什么它又有屬性呢,只要引用了字符串s的屬性,javascript就會將字符串值通過調(diào)用new String(s)的構造函數(shù)轉(zhuǎn)換成對象,這個對象繼承了字符串的方法,并用來處理對屬性的引用,一旦屬性引用結(jié)束,這個新創(chuàng)建的對象就會被銷毀(其實實現(xiàn)上并不一定會創(chuàng)建這個對象,只是整個過程看起來這樣)。
同字符串一樣,數(shù)字和布爾值也具有各自的方法:通過Number()和Boolean()構造函數(shù)創(chuàng)建一個臨時對象,這些方法的調(diào)用均來自這個臨時對象。這個臨時對象被稱之為包裝對象。
注意 :
復制代碼 代碼如下:
var s="test"; //聲明一個字符串
s.len=4; //給它設置一個len屬性
var t=s.len; //查詢這個屬性
這個時候我們輸出t時應當為undefined,第二行代碼創(chuàng)建一個臨時字符串對象,并給其len屬性賦值為4,隨即銷毀這個對象,第三行代碼通過原始的字符串值s設置一個新的屬性,嘗試讀取其len屬性,這個屬性自然不存在,所以t輸出時值為undefined。
這段代碼表明,在讀取數(shù)字,字符串,布爾值的屬性值(或方法)時,表現(xiàn)得像對象一樣,但試圖給其屬性賦值時,則會忽略這個操作:修改只是發(fā)生在臨時對象上,而這個臨時對象并未繼續(xù)保留下來。
【JavaScript中的包裝對象介紹】相關文章:
javascript克隆對象深度介紹07-25
JavaScript中的三種對象10-24
Javascript中arguments對象的詳解和使用方法08-20
關于javascript對象之內(nèi)置和對象Math的使用方法10-08
有關深入理解JavaScript中的并行處理的介紹10-14
JavaScript高級程序設計:本地對象Array10-22
JavaScript中的with關鍵字07-24