复习js面试题前五节
数据类型
值类型:
Number Boolean String Symbol
引用类型
JSON Array Null
两种类型的区别
值类型是栈内存,引用类型是堆内存
手写深拷贝
JSON.parse(JSON.stringty()) 不能拷贝方法日期对象正则....
function delc(obj){
if(typeof obj !== "object" || obj == null){
return obj
}
let res = obj instanceof Array ? [] : {}
for(let key in obj){
if(obj.hasOwnproperty(obj)){
res[key] = del(obj[key])
}
}
return res
}
核实使用==和===
只有在obj==null的时候使用==
if(obj == null || obj == undefined){}简写就是obj==null
==隐式类型转换
100 == “100”
false == “”
false == 0
0 == “”
null == undefined
哪些是truly变量?哪些是falsely变量
什么是truly变量?什么是false变量
!!val == true 是truly变量
!!val == false 是falsely变量
除了falsely变量都是truly变量
空字符串
数字0
NaN
undefined
null
原型与原型链是怎么回事
什么是原型
每一个Class都有显示原型prototype,每一个实例都有隐式原型__proto__,实例里的__proto__指向的是Class的prototype