JavaScript值类型与引用类型问题

来源:百度知道 编辑:UC知道 时间:2024/07/01 07:59:36
代码1
<script type="text/javascript" language="javascript">
function chang1(y)
{
y=5;
}
var x=3;
chang1(x);
alert(x);
</script>
代码2
<script type="text/javascript" language="javascript">
function person(name,age)
{
this.age=age;
this.name=name;
this.say=sayFunc;
}
function sayFunc()
{
alert(this.name+":"+this.age);
}
function change(p1)
{
p1.name="李四";
}
var person1=new person("张三",18);
change(person1);
person1.say();
</script>

执行结果1中为3,2中为李四。
请问为什么值类型中的数据不变而引用类型中的数据会变呢?麻烦解释详细点

引用类型——你和你同学公用一个钱包 你取走3快 钱包就少了3快
你同学取走3快 钱包也会少了3快

值类型——你和你同学每人一个钱包 你钱包里有20 你给你同学看了下
你同学去找了20 也装在他钱包里 这样 他钱包里的钱 就和你的一样
以后他的钱怎么用 是他的事情 不会影响到你的钱包里的钱 你钱包里的
钱不会变 除非你自己用 相当于他的类怎么变 也不会影响到你的类

明白?

引用是什么意思呢
就是共用
相当于一个人有两个名字
中文名字叫 小沈阳 英文名字叫xiaoshenyang
小沈阳换了老婆 难道xiaoshenyang老婆没变吗