原型

50 阅读1分钟

复习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 == “100false == “”
false == 0
0 == “”
null == undefined

哪些是truly变量?哪些是falsely变量

什么是truly变量?什么是false变量
!!val == true  是truly变量
!!val == falsefalsely变量
除了falsely变量都是truly变量
空字符串
数字0
NaN
undefined
null

原型与原型链是怎么回事

什么是原型

每一个Class都有显示原型prototype,每一个实例都有隐式原型__proto__,实例里的__proto__指向的是Class的prototype

什么是原型链

image.png