美文网首页
一些奇奇怪怪的js知识

一些奇奇怪怪的js知识

作者: storyWrite | 来源:发表于2021-04-07 09:47 被阅读0次

    0.关于前端为什么typeof null 得到的结果是 object

        对于 `null` 来说,很多人会认为他是个对象类型,其实这是错误的。

        虽然 `typeof null` 会输出 `object`,但是这只是 JS 存在的一个悠久 Bug。在 JS 的最初版本中使用的是 32 位系统,为了性能考虑使用低位存储变量的类型信息,`000` 开头代表是对象,然而 `null` 表示为全零,所以将它错误的判断为 `object` 。虽然现在的内部类型判断代码已经改变了,但是对于这个 Bug 却是一直流传下来。

    1.关于let可以作为变量名

        是因为ES6中let不是保留字也不是关键字 因此可以作为变量名,其他的声明例如var const 都不能作为变量名,因为其他的声明方式是关键字,而关键字保留字不能作为变量名.

    2.setTimeout()函数的第三个参数

    setTimeOut()函数的第三个参数会作为参数fn函数的实参传递进去 ,可以解决var循环变量问题,参数能传递多个  现版本谷歌,搜狗支持 ie不支持这样传递参数

    setTimeout((arg) => {

        console.log(arg)

    },1000,'i m arg')

    3.执行以下代码

    控制台再次执行setTimeout函数时打印的6 7 为setTimeout的返回唯一标志


    4.setTimeout() 第一个参数

    如果传递的不是一个函数,定时器会立即执行 例如 setTiemout(console.log(1) , 1000)

    5. forEach /for of /for in 

    不能通过return 进行循环跳出

    相关文章

      网友评论

          本文标题:一些奇奇怪怪的js知识

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