基本包裝類型是特殊的參考類型。每當讀取一個基本類型值的時候,後台就會建立一個對應的基本包裝類型的物件,以便可以呼叫屬性、方法來進行後續操作。
ECMAScript也提供了三種基本包裝類型:Number、String、Boolean。
我們常常寫類似這樣的程式碼,基本型別的變數可以當做物件一樣呼叫屬性、方法,但這又不是一個真正的物件只是一個變數而已,那麼這是為什麼呢?
1 var str = "hello world"; 2 console.log(str.length); // 11 3 console.log(str.toUpperCase());// HELLO WORLD
其實為了方便操作基本資料型別的值,JavaScript 中的基本資料型別的值會在背景建立對應的基本包裝類型物件,除了null 和undefined 所有的基本類型都有對應的包裝類型。
如上程式碼,後台會自動完成下列的處理:
執行到第二行時:
建立String 類型的一個實例;
在實例上呼叫指定的屬性;
銷毀這個實例;
執行到第三行時:
建立String 類型的一個實例;
在實例上呼叫指定的方法;
銷毀這個實例;
可以將以上三個步驟想像成是執行了下列ECMAScript程式碼:
##
1 // 执行到第二行时 2 var str = new String("hello world"); 3 str.length; 4 str = null; 5 6 // 执行到第三行时 7 var str = new String("hello world"); 8 str.toUpperCase(); 9 str = null;
現在是不是明白原來這個基本包裝類型其實就是基本資料型別對應的型別
String | |
Number | |
Boolean |
#注意:
並不是包裝類型提供了方法,而是javascript 引擎後台創建了對應基本包裝類型的實例(對象)
每當讀取一個基本型別值的時候,後台就會建立一個對應的基本包裝類型物件如:
1 var str = new String("hello world"); 2 str.length; 3 str = null;
s='some' s.age='Joel' console.log(s.age);
#
s= String('some' s.age='Joel' console.log(s.age);
2、在讀取基本類型值時,就會建立對應的基本包裝類型對象,從而方便了資料操作。
3、操作基本包裝類別的物件一執行完畢,就會立即銷毀。
以上是JavaScript中關於基本包裝型別的解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!