flex伸缩盒布局

var p = {
    name : "张三"
}
function people1(n){
     return n;
}
function people2(n){
     n.name = "李四";
     return n;
}
function people3(n){
     n = {
       name : "haojie"
     }
     console.log(n);
     return n;
}
var p1 = people1(p);
// console.log(n);  //报错,没有定义n  
console.log(p);     //{name: "张三"}
console.log(p1);    //{name: "张三"}
var p2 = people2(p);
console.log(p);     //{name: "李四"}
console.log(p2);    //{name: "李四"}
var p3 = people3(p);
console.log(p);     //{name: "李四"}
console.log(p3);    //{name: "haojie"} 
console.log(p);     //{name: "李四"}

函数在传参的时候,如果为对象传参,传递的是对象的引用地址
1.如果使用object.property给改变对象属性的时候,改变的是对象中的真正的数据
2.如果使用
n = {
name : “haojie”
}
的形式,相当于在函数内部开辟了一块控件给n对象,对象随着函数的销毁而销毁

猜你喜欢

转载自blog.csdn.net/webEvelement/article/details/81322232