《JavaScript權威指南》讀書筆記2

來源:互聯網
上載者:User

標籤:

3.6-3.8

  這三章主要介紹了JS的封裝對象、不可變的原始值和可變的對象引用、JS中的類型轉換。

  封裝對象主要指當原始值需要調用一些方法的時候(原始值本身是不能通過"."來調用的方法或者屬性值的),JS會隱性的把原始值轉換成一個臨時的對象,通過這個臨時的對象來實現通過原始值調用方法(這個方法是原始值所對應的封裝對象的方法),這個臨時的對象就成為封裝對象。例如,

  先定義一個字串,並通過.length(),方法來擷取字串的長度:

1 var a ="hello";2 var b=a.length();   

  a作為一個字串變數,並不是一個對象,所以他是不能通過"."的形式來調用length()方法的。但是在實際中,我們都是這樣運用的。這就是因為這這個過程中JS使用了封裝對象。當字串a通過"."調用屬性的時候(方法是一個屬性值為函數的屬性),JS會通過調用new String(a)來建立一個新的臨時的對象,即封裝對象,封裝對象會繼承字串的所有方法,通過這個封裝對象來.length()擷取長度,並且返回給變數b,這個過程結束後b被賦值,封裝對象會銷毀,a並沒有發生任何改變。

  封裝對象類似於JAVA中的對int的裝箱後的Intiger對象。

  除了字串String(),數字和布爾值也有各自的Number()和Boolean()構造方法來調用。當然,JS除了在運算中會隱式的使用封裝對象,也可以通過建構函式來顯式的建立封裝對象,如:

var a =‘hello‘;var A= new String(a);

 

《JavaScript權威指南》讀書筆記2

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.