基本包裝型別

2021-08-08 23:57:17 字數 799 閱讀 5141

好久之前看的高程,最近有些忘記了,疑惑基本包裝型別存在的意義,下面總結一下:

為了便於操作基本型別,ecmascript提供了三個特殊的引用型別:boolean、number、string。

實際上,每當讀取乙個基本型別值的時候,後台就會建立乙個對應的基本包裝型別的物件,從而讓我們能夠呼叫一些方法來操作這些資料。

var s1=

"nice"

;var s2=s1.

substring(2

);

在你寫出上面的**時,後台都會完成如下操作:

1. 建立string型別的乙個例項

2. 在例項上呼叫指定方法

3. 銷毀這個例項

可以想象為:

var s1=

newstring

("nice");

var s2=s1.

substring(2

);s1=

null

經過此番處理,基本型別的字串值就變得像物件一樣了。

引用型別與基本包裝型別的主要區別就是物件的生存期。使用new操作符建立的引用型別的例項,在執行流離開當前作用域之前一直都儲存在記憶體中。而自動建立的基本包裝型別的物件,只存在一行**的執行瞬間,然後立即被銷毀。這意味著我們不能在執行時為基本型別新增屬性和方法。

當然可以顯示建立基本包裝型別,對這樣的例項呼叫typeof會返回「object」,而且基本包裝型別的物件在裝換為布林型別值的時候會返回true。

基本包裝型別

為了便於操作基本資料型別,提供了三個特殊的引用型別,boolean,number和string,這些型別和其他引用型別相似,但是同時也具備和自己相應的資料型別的特殊行為,實際上每當讀取乙個基本型別的數值後,後台都會為我們建立對應的基本包裝型別的物件,從而能夠呼叫一些方法處理這些資料。var box ...

基本包裝型別

基本包裝型別有number boolean string三種。主要用途是擴充套件基本資料型別number boolean string的功能。因為這些基本資料型別本身不具備任何方法。在基本資料型別操作時,比如 abc substr 0,2 在執行這段 時,實際上 abc 是乙個基本資料型別,本身並沒...

基本包裝型別

基本包裝型別 兩個原則 普通變數不能直接呼叫屬性或者方法 物件可以直接呼叫屬性和方法 基本包裝型別 本身是基本型別 number,string,boolean 但在執行 中,如果這種型別的變數呼叫了屬性或者是方法 那麼這種型別就不再是基本型別而是基本包裝型別 注意 如果是乙個物件 true,結果是t...