第五章 引用類型(四) 對於我們開發人員來說,JavaScript有種引用類型一定很陌生!那就是基本包裝類型:Boolean、Number和String。這也不是我們的錯,主要這些我們平時根本都用不到。這些都是JavaScript內部自動調用。這麼說,你可能有點懵。下麵,我來舉個例子。 對於上面的代 ...
第五章 引用類型(四)
對於我們開發人員來說,JavaScript有種引用類型一定很陌生!那就是基本包裝類型:Boolean、Number和String。這也不是我們的錯,主要這些我們平時根本都用不到。這些都是JavaScript內部自動調用。這麼說,你可能有點懵。下麵,我來舉個例子。
1 var s1 = "hello,world"; 2 var s2 = s1.substring(1); 3 console.log(s2); //"ello,world"
對於上面的代碼輸出的結果,有沒有感覺有問題!對於一個基本類型的字元串s1,從邏輯上來說是不存在什麼方法的,那為什麼程式卻沒有報錯。其實,當程式執行到第二行的時候,後臺經歷了這樣一個過程,寫出代碼的話如下麵所示:
var s1 = new String("hello,world"); var s2 = s1.substring(1); //等實例上調用指定方法後立即銷毀這個實例,整個過程都在後臺發生,我們並沒有什麼察覺
瞭解這個過程即可。我們一般也不會用到這些包裝類。
接下來講述的就是最後一種引用類型,單體內置對象。這種對象分別有:Global對象和Math對象。
Global對象是一個全局對象,所有不屬於任何其他對象的屬性和方法,最終都是它的屬性和方法!它自身還包括很多其他一些方法。 ECMAScript並沒有指出如何直接訪問Global對象。但在瀏覽器中,全局對象作為window對象的一部分加以實現。也就是說,在瀏覽器上window就是全局對象。
Math對象提供了大量的數學計算方法,輔助我們完成複雜的數學計算任務。比如:隨機數random(),絕對值abs(),最大值max(),最小值min().......