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)
- forEach /for of /for in
不能通过return 进行循环跳出