标签:
执行结果是:ABC。实例3与实例2的区别是在函数中又加了2行代码,在给obj对象新加一个属性name并赋值后
又将obj定义成了一个新的对象(new
Object()),定义新对象后又name赋上新的值“BCD”。这个时候如果是按引用传递的话,那么最后person对象就会自动修改为指向其
name属性为"BCD"的新对象,但最后显示的却是“ABC”,这说明即使在函数内部修改了参数的值,但原始的引用还保持不变。实际上,当在函数内部
obj=new Object()时 这个新的obj就已经成为函数内部的局部对象了,这个对象会在函数执行完毕后自动销毁。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>基本类型/引用类型--字符串</title>
<script text="text/javascript">
//字符串比较特殊,长度不固定应该引用,可是某些行为又像基本类型的
var a="hello";
var b=a;//拷贝的引用值--想象成一个指针
a="你好";//实际上是又建立另外一个字符串"你好"并指向它
alert(b);//hello
//字符串算是一种不变对象
</script>
</head>
<body>
</body>
</html>
标签:
原文地址:http://www.cnblogs.com/maruco2020/p/4486649.html