本文主要總結了JavaScript 常用功能總結,如一些常用的額JS 對象,基本資料結構,功能函數等,還有一些常用的設計模式。
目錄:
眾所周知,JavaScript是動態的物件導向的程式語言,能夠實現以下效果:
一、JavaScript 中的資料型別
JavaScript 提供三種元資料類型,string,number,和Boolean,可使用typeof(v) 測試變數V 的類型,typeof(v)===" number"
提供五種基本的引用型別:Object, Array, Function, Date 及RegExp。數組,函數,日期和正規表示式是特殊類型,但是嚴格來講,日期和正規表示式是元資料類型,可封裝在其他物件中。
JS 中變數類型,陣列元素類型,函數參數以及傳回值的類型不需要宣告類型,類型之間的轉換是自動執行的。
變數值可以是:
string 是一系列的Unicode 字串,String 如“hello world”,'A3FO'或空字串“”,字串連接可透過+操作符來執行,也可以使用=號來驗證兩個字符串是否相等;
if (firstName + lastName === "James Bond") ...
numeric 表示64位的浮點數,在JS 中沒有明顯的區分整形和浮點數,如果一個表達式的值不等於某個數字,那麼它的值可設為NaN,表示非數字,可聯合isNaN使用。
如下表是詳細的類型測試和轉換
二、變數作用域範圍
目前,JavaScript,ES5提供兩種作用域類型:全域變數及函數作用域,沒有區塊作用域。塊作用域的範圍較不明確,所以應避免塊作用域的使用。如下程式碼,儘管是開發人員常用的Pattern,卻是個陷阱。
function foo() { for (var i=0; i < 10; i++) { ... // do something with i } }
所有的變數宣告最好是在函數的起始位置。在JS,ES6版本支援區塊作用域,採用關鍵字let 定義變數。
嚴格模式(Strict Mode)
從ES5開始, 嚴格模式用於檢測運行時的錯誤,在嚴格模式下,所有的變數必須聲明,如果給未聲明的變數賦值會拋出異常。
在JavaScript 檔案或