您的位置:首页 > Web前端 > JavaScript

JS的一些小知识

2018-10-27 20:51 176 查看

1. bind()函数无法改变ES6箭头函数中this的指向

 

const a = ()=>{
console.log(this)
}
a.bind(document)()

2.当使用~~按位非进行类型转化时,转换浮点数会丢失小数点后的数,当字符串大于2147483647(即2的31次方减一)时转化会出问题,所以我们尽量少用~~转化过大的字符串

       ~~'15.121'   //返回15

  ~~2147483647  //返回2147483647

  ~~2147483648  //返回-2147483648   即2的31次方

3.typeof null 等于object的原因

  在JS最初的版本中,使用的是32位系统,为了性能考虑使用低位存储了变量的类型信息,000开头代表的是对象,然而null表示为全零,所以将它错误的判断为

object

  虽然现在的内部类型判断代码已经改变了,但是对于这个 Bug 却是一直流传下来。

 

  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: