<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
var a = {name:"李四",age:12};
var b = a;
var obj;
// b.age = 14;
// console.log(a.age);
a = {name:"武汉",age:20};
function fun(obj){
//行参obj对应数值--变量b的基本值(存储在内存柞中)或者地址值
//这里是地址值,因为var b = a 相当于把a引用的对象的地址值复制了一份保存在变量b中
//( function(obj){ console.log(obj) })() 这是匿名函数的立即执行代码,输出的是undefinded ----为什么 我感觉是( function(obj){var obj = obj; console.log(obj) })() 隐形加了var obj = obj代码,
//下面的obj和传进来的obj没有关联,感觉也是因为var obj = obj,只要加了这个都很好理解,它只是作为局部变量来接收数据,
obj = {addr:"武汉",gender:"男"};
jk;
console.log(jk); //这里报错 因为jk找不到又没有var jk进行声明变量jk,jk它先是在函内部查找,再到全局查找----也就是函数外部,一层层的往上找,直到全局作用域
};
fun(b);
// function fun1(b){
// console.log(b);
// }
// fun1()
</script>
</head>
<body>
</body>
</html>