zoukankan      html  css  js  c++  java
  • 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
    

      

  • 相关阅读:
    React跨域问题解决
    PBFT性能会下降? 各种算法的对比。
    ssl证书原理
    UTXO是什么?
    以太访solidity常用的函数有哪些
    ERC720和erc721的区别
    椭圆曲线加密和rsa对比
    将pdf书籍变成横排的方法
    童年回忆(1)
    Inheritance
  • 原文地址:https://www.cnblogs.com/chenlw/p/12525282.html
Copyright © 2011-2022 走看看