数据类型

前7种为基础类型:存储在栈内存,做比较时为值的比较。

object为引用类型:存储在堆内存,做比较时为引用地址的比较。

题目一:

let a = {
    name: 'Julia',
    age: 20
}

function change(o) {
    o.age = 24;
    o = {
        name: 'Kath',
        age: 30
    }
    return o
}

let b = change(a);

console.log(b.age);    // 30

console.log(a.age);    // 24

我最开始做的时候,a.age的结果和我预想的不一致,后来发现是function带来了不一样的东西,可以把上面的代码这样理解

let a = {
    name: 'Julia',
    age: 20
}

function change(o) {
    let newObj = o      //引用地址指向传进来的参数a
    newObj.age = 24;
    newObj = {          //引用地址重新指向了一个对象,与a分离
        name: 'Kath',
        age: 30
    }
    return newObj
}

let b = change(a);

console.log(b.age);    // 30

console.log(a.age);    // 24

数据类型的检测

数据类型转换

posted @ 2021-07-13 19:11  懒懒同学不懒  阅读(39)  评论(0编辑  收藏  举报