1. 程式人生 > >React踩坑筆記 —— JS、ES6

React踩坑筆記 —— JS、ES6

  • Java|JavaScript中Lamda表示式沒有自己的this,它保留了封閉詞彙上下文的this值,且Lamda被建立時被設定;
  • JS可以函數語言程式設計,所以要注意變數初始化時,賦值的是函式呼叫()還是函式本身
  • 宣告在函式中的變數稱為區域性變數。
    • var區域性變數作用域整個函式體,且具備宣告提升
    • let作用於塊和子塊,不具有提升特性;
    • 同一塊中,let變數不能被宣告兩次
    • 子塊中可以再次let宣告,覆蓋從父塊繼承的值,且不會影響父塊;
    • 子塊中不可以再次var宣告,因為var會宣告提升,相當於let變數在同一塊中被多次宣告;
  • e.preventDefault();注意keydown事件監聽函式中,一般不要阻止預設行為,否則會影響輸入等;
  • 行內Event監聽函式,要主動傳入eventthis物件,且此時this指向該Dom元素;
  • 擴充套件語法(Spread syntax)在陣列中使用,記得判 null | undefined:
      const numbers = undefined;
      console.log({...numbers});//Object {  }
      console.log([...numbers]);//Error: numbers is not iterable
    
  • “JS的假是真的假”
    《JS中的Boolean值》
    —— 在JS中,0-0nullfalseNaNUndefined 甚至是空字串“”,都是假,除此之外,所有其他值、任意物件、包括字串“false”、長度不為零的空白字串“ ”都為真。