JavaScript學習筆記

JavaScript

  1. 嚴格區分大小寫;
  2. 數據類型:
    • Number:不區分整數與浮點數;
    • 字符串:
    • 布爾值:
  3. 相等運算符:
    • ==:會自動轉換數據類型再比較;
    • ===:不會自動轉換數據類型,數據類型不一致則返回false;
    • NaN,表示Not a Number與所有其他值都不相等,包括自己;
  4. null:表示一個空的值,與0和空字符串''不同,0是一個數值,''表示長度爲0的字符串,而null表示"空";
  5. undefined:表示"未定義";
  6. 數組定義方式, 索引起始值爲0:
    • new Array(1, 2, 3);
    • 直接使用[], [1, 2, 4];
  7. 對象都是一組由鍵-值組成的無序集合,鍵都是字符串類型,如果鍵中含特殊字符,就必須用''括起來,訪問時用['xxx']方式,值可以是任意數據類型,獲取對象屬性方式:對象變量.屬性名
  8. 多行字符串:用反引號`...`表示;
  9. 模版字符串:自動替換字符串中變量,message = 'hello, ${name}, your age is ${age}'
  10. 字符串是不可變的,對字符串的某個索引賦值既不會引起錯誤,也不會改變字符串;
  11. 直接給Arraylength賦新值會導致Array大小的變化,可以通過索引改變對應元素的值,索引超過範圍時同樣引起Array大小的變化;
  12. push()向Array末尾添加若干元素,pop()把最後一個元素刪除;
  13. unshift()Array頭部添加若干元素,shift()刪除第一個元素;
  14. splice():從指定索引開始刪除若干元素,然後再從該位置添加若干元素;
  15. concat():將兩個Array連接起來,返回一個新的Arrayjoin()Array的每個元素都用指定字符串連接起來,再返回連接後的字符串;
  16. 判斷一個屬性是否爲對象自身所有,而不是繼承得到,可用hasOwnProperty()方法;
  17. JS中把nullundefined0NaN和空字符串''視爲false,其他都視爲true
  18. Set是一組key的集合,不存儲value,由於key不能重複,所以Set中沒有重複的key,常用方法:adddelete
  19. Map是一組鍵值對的結構,具有極快的查找速度,初始化時需要一個二維數組,或者直接初始化一個空Map,常用方法:sethasdeleteget
  20. 遍歷Array可用下標循環,遍歷MapSet則無法使用下標,引入inerable類型(ArrayMapSet都屬於)通過for...of循環來遍歷;
  21. for...in遍歷的是對象的屬性名稱,for...of循環的是集合本身的元素,更好的方式是使用內置的forEach方法,接受一個函數,每次迭代自動回調函數;
  22. let代替var可以申明一個塊級作用域的變量;
  23. 對數組元素進行解析賦值時,多個變量要用[...]括起來,eg:let [x, [y, z]] = ['k', ['cunyu', 'chuzihang']]
  24. 指定函數的this指向哪個對象可用函數本身的apply方法,接受兩個參數,第一個是需要綁定的this變量,第二個是Array,表示參數本身的參數;
  25. apply()把參數打包成Array再傳入,call()把參數順序傳入;
  26. filter用於把Array的某些元素過濾調,然後返回剩下的元素;
  27. 自帶sort函數是按照ASCII的大小比較的;
  28. 返回閉包時,返回函數不要引用任何循環變量或者後續會發生變化的變量;
  29. 箭頭函數,相當於匿名函數,含多個參數時,要用()括起來;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章