对象属性值改变的传递有关问题
对象属性值改变的传递问题按照普通函数的传递规则,person1.name的值不应该改变成“lisi”的,求解为什么?难道
对象属性值改变的传递问题
按照普通函数的传递规则,person1.name的值不应该改变成“lisi”的,求解为什么?
难道是change函数只是定义了p这个参数,而没有定义person1.name,所以chang函数改变了person1.name的值。哪位大神知道啊?求指点,感谢了
[解决办法]function change(p) //传入的值是person1啊,那p= person1
{
p.name = "lisi";
}
[解决办法]一般的函数传参,有值传递和引用传递两种。楼主用事实证明了,这里进行了引用传递,也就是说将person1指向的地址值传递给了p,这样p和person1指向相同地址,修改了p.name当然也就修改了person1.name