JS基础-变量类型和计算

一、思考:

(1)typeof能判断哪些类型

(2)何时使用===何时使用==

(3)值类型和引用类型区别

(4)如何实现深拷贝

二、知识点:

1、变量类型

(1)值类型与引用类型

 

 深入分析:

值类型:

 引用类型:

 

常见值类型:

常见引用类型

 

 

(2)typeof运算符

  • 识别所有值类型

  • 识别函数

  • 判断是否是引用类型(不可再细分)

(3)深拷贝

const  obj1 = {
        age: 20,
        name: 'xxx',
        address: {
            city: 'beijing'
        },
        arr: ['a', 'b', 'c']
    }

    const obj2 = obj1

    obj2.address.city = 'nanjing'
    console.log(obj1.address.city)  // nanjing

    function deepClone(obj) {
        if (typeof obj != 'object' || obj == null) {
            // obj是null,或者不是对象和数组,直接返回
            return obj
        }
        // 初始化返回结果
        let result
        if (obj instanceof Array) {
            result = []
        } else {
            result = {}
        }
        for (let key in obj) {
            // 保证key不是原型的属性
            if (obj.hasOwnProperty(key)) {
                // 递归调用
                result[key] = deepClone(obj[key])
            }
        }

        // 返回结果
        return result
    }

2、变量计算

(1)类型转换

  • 字符串拼接

 

  • ==

 

 

  • if语句和逻辑运算

truly变量:!!a === true 的变量

falsely变量:!!a === false 的变量

if语句:

 

 

逻辑判断:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值