标签:family ring strong 结果 mon 外部 set 分配 输出
1 console.log(" 基本类型:"); 2 var num1=1; 3 var num2=num1; //此时num1=1,num2=1,这是两个完全独立的变量,互不影响,只是值相等而已 4 5 console.log(" before copy --> num1:"+num1+" , num2:"+num2); 6 //输出 before copy --> num1:1 , num2:1 7 8 num1="change"; // 改变 num1 的值 9 10 console.log(" after copy --> num1:"+num1+" , num2:"+num2); 11 //输出 after copy --> num1:change , num2:1
1 console.log(" 引用类型:"); 2 var obj1=new Object(); 3 var obj2=obj1; // 此时 obj1 和 obj2 是两个独立的引用,只是指向同一个地方而已 4 5 obj1.name="Guang Zai";// 改变 name 的值 6 7 console.log(" obj2.name:"+obj2.name); 8 //输出: obj2.name:Guang Zai
1 function changeString(str){ 2 str+=": add something in the function" 3 return str; 4 } 5 6 console.log(" 基本类型:"); 7 var str="str"; 8 var str_return=changeString(str); 9 console.log(" str_return:"+str_return+" , str:"+str); 10 // 输出:str_return:str: add something in the function , str:str
解析:基本类型按值传递,传进去的参数与外面的变量互相独立,互不影响
引用类型:
1 console.log(" 引用类型:"); 2 function setName(obj){ 3 obj.name="Guang Zai"; 4 obj=new Object(); 5 obj.name="guang"; 6 } 7 var person=new Object(); 8 setName(person); 9 console.log(" person.name:"+person.name);//输出: "Guang Zai"
标签:family ring strong 结果 mon 外部 set 分配 输出
原文地址:https://www.cnblogs.com/go4it/p/9678352.html