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