美文网首页
无标题文章

无标题文章

作者: 凸小布 | 来源:发表于2017-02-22 15:13 被阅读7次

    赋值(=)
    左边的变量等于右边的变量
    var a = 10;
    内部细节:是把右边变量(空间中)存储的值复制一份放在左边变量(空间中)


    值类型的赋值
    赋值操作:是把右边变量(空间中)存储的值[具体的数据]复制一份放在左边变量(空间中)
    特点:修改了其中一个变量对另外一个变量没有影响


    引用类型的赋值
    赋值操作:是把右边变量(空间中)存储的值[地址]复制一份放在左边变量(空间中)
    特点:修改了其中的一个对象,对另外一个对象有影响

    <script>
        var str1 = '让我掉下眼泪的,不止昨夜的酒';
        var str2 = str1;
        console.log(str2);
        console.log(str1 == str2); //true
        console.log(str1 === str2);//true
    
        // 尝试修改变量的值
        str1 = '让我依依不舍的,不止你的温柔';
        console.log(str1);
        console.log(str2);
        console.log(str1 == str2); //false
    
        var obj1 = {'name':'hello'};
        var obj2 = obj1;
        console.log(obj2);
        console.log(obj1 == obj2); //true
        console.log(obj1 === obj2);//true
    
        // 尝试修改变量的值
        obj1.name = 'world';
        obj1.age = 12;
        console.log(obj1);
        console.log(obj2);
    
        console.log(obj1 == obj2); //true
        console.log(obj1 === obj2);//true
    
        obj1 = {'name':'MT', 'sex':'normal'}; //该行代码切断了obj2和obj1的联系
        console.log(obj1);
        console.log(obj2);
        console.log(obj1 == obj2); //false
        console.log(obj1 === obj2);//false
    
        console.log(obj2.sex); //undefined
    
    </script>
    

    值类型的赋值

    值类型的赋值

    引用类型的赋值

    引用类型的赋值

    相关文章

      网友评论

          本文标题:无标题文章

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