在开发中要尽量避免使用全局变量,但是很多基础不扎实的人就可能犯以下这个错误!
错误写法:
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!');
}