前端面试整理-JS部分
其他
2020-09-14 20:42:50
阅读次数: 0
Q:
- [20200330] typeof 的原理,与 instanceOf 、 Object.prototype.toString.call() 的区别
- [20200401] 手写一个快速排序
- [20200401] 0.1 + 0.2 === 0.3 吗?为什么?
- [20200401] 实现一个算法,来完成字符串相加,比如 “111” + ”2222“ = ”2333“
- [20200401] 深度拷贝
A:
- [20200330] typeof 的原理,与 instanceOf 、 Object.prototype.toString.call() 的区别
- typeof
JS在底层存储变量的时候,会在变量的机器码的低位1-3位存储其类型信息
000:对象
010:浮点数
100:字符串
110:布尔
1:整数
对于undefined 和 null 来说,信息存储有点特殊
null 所有的机器码都为0,所以会被认为是object
undefined用-2^30整数来表示
use: typeof function() {}
能快速检查undefined,string,number,boolean类型;
当类型为object,null,array时都会返回object,无法区分
- instanceOf
use:“str” instanceof String
能检测number, function, object类型
不能检测number,boolean,string类型
- Object.prototype.toString.call()
use: Object.prototype.toString.call(“str”)
能准确的判断所有的类型。写法相对繁琐
后续可参考资料:简书
转载自blog.csdn.net/baidu_33591715/article/details/105196713