JavaScript 學習筆記 (二)——變量、作用域、函數和內存

1、Javascript 中變量可能包含兩種不同數據類型的值:基本類型的值和引用類型的值。

對於引用類型的值,可以爲其添加屬性和方法,也可以改變其屬性和方法,例如:


但是,不能對基本類型的值添加屬性,例如:


2、JavaScript 沒有塊級作用域。對於有塊級作用域的語言,例如 C、C++、Java 中,新聲明的變量只存在與當前塊級作用域中,塊級語句執行完畢後變量即會銷燬。例如 (Java):

運行結果報錯,顯示 i 未定義:

而在 JavaScript 中,沒有塊級作用域,變量不會被立即銷燬,例如 (JavaScript):

3、JavaScript 函數的參數和大多數其他語言中的參數有所不同。JavaScript 函數不介意傳遞進來多少個參數,也不介意參數的數據類型。即使定義的參數只接受兩個參數,在調用函數的時候也未必需要傳遞兩個參數。可以選擇傳遞一個、三個甚至不傳遞。

JavaScript 中的參數在內部使用一個數組來定義,函數接收的始終是一個數組。在函數體內通過 arguments 對象訪問參數數組,例如:



4、JavaScript 最常用的垃圾收集方式爲標記清除,通過對變量的標記進行判斷,並對其採取相應的策略。

爲確保暫用較少的內存可以使得頁面獲得更好的性能,通常需要對變量進行解除引用,即將其值設置爲 null。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章