首頁 >web前端 >js教程 >JavaScript中的包裝物件介紹_javascript技巧

JavaScript中的包裝物件介紹_javascript技巧

WBOY
WBOY原創
2016-05-16 16:18:051092瀏覽

javascript物件是一種複合值,它是屬性或已命名的值的集合,透過符號"."來引用屬性值,當屬性值是一個函數的時候,我們稱之為方法。我們看到字串也具有屬性和方法:

複製程式碼 程式碼如下:

var s="hello,world!";
var word=s.substring(s.indexof("") 1,s.length);

字串既然不是對象,為什麼它又有屬性呢,只要引用了字串s的屬性,javascript就會將字串值透過呼叫new String(s)的建構子轉換成對象,這個物件繼承了字串的方法,並用來處理屬性的引用,一旦屬性引用結束,這個新建立的物件就會被銷毀(其實實作上不一定會建立這個對象,只是整個過程看起來這樣)。

同字串一樣,數字和布林值也具有各自的方法:透過Number()和Boolean()建構函式建立一個臨時對象,這些方法的呼叫都來自這個臨時物件。這個臨時物件被稱為包裝物件。

注意 :

複製程式碼 程式碼如下:

       var s="test";   //宣告一個字串
       s.len=4;    //為它設定一個len屬性
       var t=s.len;   //查詢這個屬性

這時候我們輸出t時應為undefined,第二行程式碼建立一個臨時字串對象,並給其len屬性賦值為4,隨即銷毀這個對象,第三行程式碼透過原始的字串值s設定一個新的屬性,嘗試讀取其len屬性,這個屬性自然不存在,所以t輸出時值為undefined。

這段程式碼表明,在讀取數字,字串,布林值的屬性值(或方法)時,表現得像物件一樣,但試圖給其屬性賦值時,則會忽略這個操作:修改只是發生在臨時物件上,而這個臨時物件並未繼續保留下來。

訪問字串、數字、或布林值的屬性時創建的臨時對象稱作包裝對象,它只是偶爾用來區分字符串值和字符串對象,數字和數值對象,布爾值和布爾對象

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn