关于形参 局部变量的声明提前

<!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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值