标签:
//函数一 var a = ‘a1‘; function f1(){ var a = a || ‘a2‘; alert(a); } f1(); // 函数二 var b = ‘b1‘; function f2(){ b = b || ‘b2‘; alert(b); } f2();
函数一弹出(a2),函数二弹出(b1).
为什么不一样呢?
第二个函数输出这个结果应该都能理解,函数内部可以直接引用全局变量,
主要就是第一个函数的结果,有点不太理解,
看看这一句“var a = a || ‘a2‘;"这句的两个a,
var定义变量时总是先声明,后赋值,
此时的a是undefined,所以后面那个a也就是undefined,
标签:
原文地址:http://my.oschina.net/u/2360886/blog/414462