function person(name,age)
{
this.name = name;
this.age = age;
this.say =funcsay;
}
function funcsay()
{
alert(this.name + ":" + this.age);
}
function change(p)
{
p.name = "lisi";
}
var person1 =new person("zhangsan",18)
change(person1);
person1.say();在上面的代码输出效果是:按照普通函数的传递规则,person1.name的值不应该改变成“lisi”的,求解为什么?
难道是change函数只是定义了p这个参数,而没有定义person1.name,所以chang函数改变了person1.name的值。哪位大神知道啊?求指点,感谢了
{
p.name = "lisi";
}
所以修改的就是person1啊