美文网首页
记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