javascript变量作用域

         今天分享javascript的变量作用域问题,以两个例子来对比说明。

         案例一:

                             //  声明全局变量box

                             var  box = 'blue';
             function setColor(){

                                   //  加上var字符,表明这里是声明一个局部变量box
                   var box = 'green';                          
             }
             setColor();

                             //  变量没有指明调用对象,默认是window对象调用,因此调用的就是全局的box变量,

                             //  虽然调用了setColor()方法,但是里面并没有改变全局box变量的值,结果是"blue"
             alert(box);


         案例二:

                             //  声明全局变量box

                             var  box = 'blue';
             function setColor(){

                                   //  这里由于没有加var,因此是赋值语句,我们向外层寻找,发现是修改全局的box变量的值
                   box = 'green';                          
             }
             setColor();

                             //  变量没有指明,默认是window对象调用,因此结果是"green"
             alert(box);

          今天的两个对比案例非常经典而且简单易懂,改天会继续对javascript的一些特性进行深入研究,敬请期待。

          大家可以关注我的微信公众号:iwork,我会每天推送一篇原创文章,让大家都能有所收获!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值