记JavaScript中的一些小坑

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]() 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,281评论 0 4
  • 第1章 认识JS JavaScript能做什么?1.增强页面动态效果(如:下拉菜单、图片轮播、信息滚动等)2.实现...
    mo默22阅读 1,411评论 0 5
  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 2,828评论 0 8
  • Javascript有很多数组的方法,有的人有W3C的API,还可以去MDN上去找,但是我觉得API上说的不全,M...
    顽皮的雪狐七七阅读 4,292评论 0 6
  • 《我的个神啊》是阿米尔汗主演的一部印度电影。影片中跟地球人长得相像的外星人PK,在太空旅行中到达地球,飞船降落后,...
    Wenny20阅读 560评论 0 0