• javascript数据类型


            // 1.0数据类型有几种
                // 值类型(基本数据类型):String Number Boolean  undefined Symbol
                // 引用数据类型:Object Function Array null
    // 2.0typeof输出什么
    可以设别所有的值类型
    console.log(typeof(1)) //number console.log(typeof(NaN)) //number console.log(typeof('12')) //string console.log(typeof(true)) //boolean console.log(typeof(undefined)) //undefined        可以识别函数 console.log(typeof(function(){}))//function        可以识别引用类型(不可再细分) console.log(typeof([]))//object console.log(typeof({}))//object console.log(typeof(null))//object // 3.0如何判断数据类型 // typeof操作符(见2.0) // toString()方法 支持:number/boolean/string/object 不支持:null undefined let a = true console.log(a.toString()) //"true" let b = 45 console.log(b.toString())//"45" // toLocaleString() let arr=['1','2'] console.log(arr.toLocaleString())//'1,2' // 检测数组类型的方法 // ① instanceof 操作符 let arr1=['1','2'] console.log(arr1 instanceof Array)//true let arr2=123 console.log(arr2 instanceof Array)//false // 对象的 constructor 属性 let arr3=['1','2'] console.log(arr1.constructor === Array)//true let arr4=123 console.log(arr2.constructor === Array)//false // ③ Array.isArray( ) 检验值是否为数组 let arr5=['1','2'] console.log(Array.isArray(arr5))//true let arr6=123 console.log(Array.isArray(arr6))//false // 4.0 == 和 === 有什么区别,什么场景下使用? // == 表示相同 // 类型不同,值也可以相同
    // === 表示严格相同。 // 类型不同就直接false
      // == 会触发类型转换,所以一般情况用===
            100=='100'
            0==''
            0==false
            false==''
            null==undefined
            //除了 == null之外,其他都一律用===
            const obj={a:100}
            if(obj.b == null) { //这个相当于判断 obj.b === undefined || obj.b === null
    
            }
    
    
            // 5.0 null 和 undefined 有什么区别?
                // null是不存在的对象  null是表示一个空对象指针,
                // undefined  在使用var 声明变量但未对其加初始化时,这个变量就是undefined


        // 6.0 深拷贝
      function deppClone(obj={}){
                // 判断如果是值类型就直接返回
                if(typeof obj !== 'object' || obj == null){
                    return obj
                }
                // 判断是对象还是数组
                let result
                if(obj instanceof Array){
                    result = []
                }else{
                    result ={}
                }
                for(let key in obj){
                    if(obj.hasOwnProperty(key)){
                        // 递归
                        result[key]=deppClone(obj[key])
                    }
                }
                return result                                                      
            }
    
    

         // 7.0 变量计算(类型转换)

            console.log(100+100) //200
            console.log(100+'100') //1100
            console.log(true+'100') //true100
            console.log(true+true) //2
      // == 会触发类型转换,所以一般情况用===
            100=='100'
            0==''
            0==false
            false==''
            null==undefined
            //除了 == null之外,其他都一律用===
            const obj={a:100}
            if(obj.b == null) { //这个相当于判断 obj.b === undefined || obj.b === null
    
            }
       //if语句和逻辑运算中 也会类型转换  可分为truly变量 falsely变量
            // falsely变量有:
            !!0
            !!false
            !!''
            !!NaN
            !!undefined
            !!null
    
    
  • 相关阅读:
    Beta 冲刺 (5/7)
    Beta 冲刺 (4/7)
    Beta 冲刺 (3/7)
    软件产品案例分析(团队)
    Beta 冲刺 (2/7)
    Beta 冲刺 (1/7)
    BETA 版冲刺前准备
    Alpha事后诸葛(团队)
    设计模式——访问者模式
    设计模式——命令模式
  • 原文地址:https://www.cnblogs.com/zhuMother/p/12988321.html
Copyright © 2020-2023  润新知