JavaScriptの中のいくつかの小さい穴を覚えます.

1080 ワード

1.数字配列の並べ替え
  • JavaScriptのsort()はデフォルトではアルファベットで並べられています.例えば[1,2,10,5].sort()は[1,10,2,5]を出力します.この問題を解決するのにも簡単な方法があります.[1,2,10,5].sort((a,b)=>{returna-b}を使って
  • 2.Date()
  • new Date()は現在時間
  • を返します.
  • new Date(x)は1970年1月1日+xミリ秒の時間を返します.
  • new Date(1,1,1)は1971年2月1日に戻り、年は1970+1年、月は0から始まり、日数は1から始まります.
  • new Date(2010、1、1)は2010年1月1日に戻ります.
  • 3.変数が配列かどうかを判断する
  • typeof[]='object'証明配列は元のタイプではない
  • どうやって配列かを判断しますか?アラy.isAray(arr)
  • 4.クローズド
        const Greeters = []
        for (var i = 0 ; i < 10 ; i++) {
          Greeters.push(function () { return console.log(i) })
        }
        
        Greeters[0]() // 10
        Greeters[1]() // 10
        Greeters[2]() // 10
    
    どうやって0、1、2、3を預けますか?
  • 解決方法の一つは、letを使用してvarの代わりに、varスコープは一番近い関数ブロックであり、letは一番近いブロックである.ブロック外にある場合はグローバル変数です.
  • 解決方法2:bindを使う
  •           const Greeters = []
              for (var i = 0 ; i < 10 ; i++) {
                Greeters.push(console.log.bind(null, i))
              }
              Greeters[0]() 
              Greeters[1]() 
              Greeters[2]()