web前端警惕:意料之外的全局变量声明

0

在开发中要尽量避免使用全局变量,但是很多基础不扎实的人就可能犯以下这个错误!
错误写法:

function fn(){
var a=b=0;
}

本以为这是定义了两个局部变量a,b,但结果是a是局部变量,b是全局变量。
出现这种情况的原因在于:赋值是从右到左的 ,先把0赋值给b,这时候b还没有定义,所以就变成全部变量了。接着b=0;这个表达式的返回值是0;讲0赋值给a,a是被定义的,所以a是局部变量。

避免这种情况的做法是使用链分配的方式定义变量。

function fn(){

var a,b;
a=b=0;
}

 
 


前端爱好者们约定,阅读后:

if(‘觉得有用’){
分享(‘I get it!’);
}else if(‘已了解’){
分享(‘a piece of cake!’);
}else if(‘看不懂’){
回复小编('help me!');
}

0

0


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值