美文网首页
基本变量&引用变量

基本变量&引用变量

作者: 大香蕉s | 来源:发表于2016-12-22 16:34 被阅读0次

    js 中包含两种不同数据类型的值

    -  基本类型值
        1. undefined
        2. Null
        3. Boolean
        4. Number
        5. String
    - 引用类型值
    引用类型的值是保存在内存中的 对象
    

    下面说说我对的理解

    一:

    • 对于 基本类型值 复制操作时,
    var num1 = 5
    var num2 = num1 
    

    结果:

    变量名 内存中
    num1 5 (内存中有自己的位置)
    num2 5 (内存中有自己的位置)
    • 对于 引用类型值 复制操作时,
    var obj1 = { key: 'value'}
    var obj2 = obj1 
    

    结果:

    变量名 内存中
    obj1 { key: 'value'} (内存中有自己的位置)
    obj2 obj1 (内存中没有自己的位置,而是引用 obj1 的内存地址)

    二:

    引用类型值 可以为其添加属性方法 ,而 基本类型 则不可以

        var person = {}
        person.name = "Rabbit"
        alert(person.name)  // ''Rabbit'' 
    
        var name = "Banana"
        name.age = 24
        alert(name.age) // undefined, 因为 基本类型 不能添加属性 age
    

    三:

    传递参数:
    基本类型传递参数是复制一个值给参数

    var addTen = function(num) {
        return num+10
    }
    
    var a = 10
    var r = addTen(r)
    alert(a) // 10, a 还是 10,没有变化
    

    引用类型传递参数是把它的地址传递给参数

    var setName = function(obj) {
        obj.name = 'pinkBao'
    }
    var person = {}
    setName(person)
    alert(person.name)  // 'pinkBao', 因为引用类型传递参数是把它的地址传递给参数,所以 setName 函数操作的实际上是 person 这个对象
    

    相关文章

      网友评论

          本文标题:基本变量&引用变量

          本文链接:https://www.haomeiwen.com/subject/bdchvttx.html