1. 程式人生 > 實用技巧 >js基礎複習

js基礎複習

變數命名規則:

  • 由字母、數字、下劃線、$符號組成,不能以數字開頭

  • 不能是關鍵字和保留字,例如:for、while。

  • 區分大小寫

簡單資料型別:Number、String、Boolean、Undefined、Null

複雜資料型別:object(function、Array、Date)

NaN 與任何值都不相等,包括他本身

字串拼接:

  1. + 就是字串拼接功能(1+abc //"1abc"; 1+"2" //"12" ; 1+2 //3;1+true //2 ; 1+false //1 ; 1+[6] //"61" ; 1+{} //[object Object]1 ; 1+undefine //NaN)

  2. 兩邊如果都是數字,那麼就是算術功能。

  3. - 字串功能 ("2"-1//1 ; “as”-1//NaN; []-1//-1 ;)

Undefined和Null:

  1. undefined表示一個聲明瞭沒有賦值的變數,變數只宣告的時候值預設是undefined

  2. null表示一個空,變數的值如果想為null,必須手動設定

變數型別獲取

typeof:一般只能返回如下幾個結果:"number"、"string"、"boolean"、"object"、"function" 和 "undefined"。

運算數為數字 typeof(x) = "number" 

字串 typeof(x) = "string"

布林值 typeof(x) = "boolean"

物件,陣列和null typeof(x) = "object"

函式 typeof(x) = "function"

未定義或未附值變數 type(x) = undefine

布林型別的隱式轉換

 流程控制語句會把後面的值隱式轉換成布林型別

  轉換為true 非空字串 非0數字 true 任何物件
  轉換成false 空字串 0 false null undefined

continue和break

  break:立即跳出整個迴圈,即迴圈結束,開始執行迴圈後面的內容(直接跳到大括號)

  continue:立即跳出當前迴圈,繼續下一次迴圈(跳到i++的地方)

自呼叫函式

  關於自執行函式(匿名函式自呼叫)的作用:防止全域性變數汙染。

  匿名函式不能通過直接呼叫來執行,因此可以通過匿名函式的自呼叫的方式來執行

預解析

預解析過程:

  1. 把變數的宣告提升到當前作用域的最前面,只會提升宣告,不會提升賦值。

  2. 把函式的宣告提升到當前作用域的最前面,只會提升宣告,不會提升呼叫。

  3. 先提升var,在提升function

this詳解

  1. 函式在定義的時候this是不確定的,只有在呼叫的時候才可以確定
  2. 一般函式直接執行,內部this指向全域性window
  3. 函式作為一個物件的方法,被該物件所呼叫,那麼this指向的是該物件
  4. 建構函式中的this其實是一個隱式物件,類似一個初始化的模型,所有方法和屬性都掛載到了這個隱式物件身上,後續通過new關鍵字來呼叫,從而實現例項化