美文网首页
记JavaScript中的一些小坑

记JavaScript中的一些小坑

作者: cce117b0a0ce | 来源:发表于2018-01-11 23:28 被阅读5次

1. 数字数组排序

  • JavaScript中的sort()默认是字母排序的,例如[1,2,10,5].sort() ,会输出[1,10,2,5] 。
    解决这个问题也有个很简单的办法,使用[1,2,10,5].sort( (a, b) => { return a - 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' 证明数组并不是原始类型
  • 如何判断是否是数组:Array.isArray(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 是最近的封闭块。如果都在块外,则为全局变量。
  • 解决办法二:使用bind
          const Greeters = []
          for (var i = 0 ; i < 10 ; i++) {
            Greeters.push(console.log.bind(null, i))
          }
          Greeters[0]() 
          Greeters[1]() 
          Greeters[2]() 

相关文章

网友评论

      本文标题:记JavaScript中的一些小坑

      本文链接:https://www.haomeiwen.com/subject/gbkxoxtx.html