Skip to content

js数据类型 #26

@zuobaiquan

Description

@zuobaiquan

基础类型的局部变量直接在栈中创建,被引用或拷贝时,会创建一个完全相等的变量;
引用类型局部变量存储在堆中,栈中只存储它的引用地址。多个引用指向同一个地址,这里会涉及一个共享的概念。

栈中存储的数据是轻量级的

let a  = {
    name:'Tom',
    age:20
}
function change(obj){
    obj.age = 24;
    obj = {
        name:'Jame',
        age:30
    }
    return obj
}
let b  = change(a)
console.log(b.age) // 30
console.log(a.age) // 24

数据类型判断方法
typeof 可以判断基础数据类型(null除外)但引用类型中除了function类型以外,其余无法判断
instanceOf 可以准确判断复杂引用数据类型,但不能判断基础数据类型

Object.prototype.toString

Object.prototype.toString.call(obj).replace(/^[object (\S+)]$/, '$1')

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions