1.数据类型、typeof、深拷贝、变量计算

1.数据类型:值类型(Number,String,Boolean,undefined),引用类型(object(包含数组),Null),函数

  

2.typeod  判断所有的值类型,函数。引用类型无法区分(都是object)

  

3.深拷贝

3.深拷贝
        const obj1 = {
            age:20,
            name:'aaa',
            address:{
                city:'beijing'
            },
            arr:[1,2,3]
        }
        const obj2 = deepClone(obj1);
        obj2.address.city = "shanghai";
        console.log(obj1)

        /**
        * 深拷贝
        * @param {Object} obj  要拷贝的对象
        */
        function deepClone(obj){
            if(typeof obj !='object' || obj ==null){
                return obj;
            }
            // 初始化返回结果
            let newObj
            if(obj instanceOf Array){
                newObj = [];
            }else{
                newObj ={};
            }
            for(let i in obj){
                // 保证key不是原型上的属性
                if(obj.hasOwnProperty(key)){
                    // 递归
                    newObj[key] = deepClone(obj[key]) 
                }
            }
            // 返回结果
            return newObj;
        }
深拷贝

 4.变量计算

类型转换:
        a.字符串拼接
          let a = 100+10;//120
          let a = 100+'10';//'10010'
          let a = true +'10';//'true10'
        b.==
            100 == '100' //true
            0 == '' //true
            0 == false //true
            false == '' // true
            null == undefined //true
            用 === 的话,都是false
        c.if语句和逻辑运算
            truly变量: !!a === true 的变量
            falsely 变量: !!a === false 的变量

            <!-- 以下是falsely 变量。除此之外都是turly变量-->
                !!0 === false
                !!NaN === false
                !!'' === false
                !!null === false
                !!undefined == false
                !!false === false

            if(){} //if括号里面的判断就是 turely 和falsely

  

原文地址:https://www.cnblogs.com/chenlw/p/12525282.html