[js]js的一些坑

1.判断a b的类型和输出值

 1 function foo(){
 2     let a = b = 0;
 3     a++;
 4     return a;
 5 }
 6 
 7 foo();
 8 
 9 typeof a;//  =>???
10 typeof b;//  =>???

问题主要是 函数里面的第一行  连续赋值 let a = b = 0; 这行代码实际上创建了一个全局变量b 和 一个局部变量 a , 都初始化为0,  因为a是局部变量 所以在函数外面调用是找不到的 类型为undefined, 而b实际上是隐形的全局变量window.b 所以在函数外面调用也是找的到的 b的类型是number, b的类型是number.    这就是无意创建了全局变量.

猜你喜欢

转载自www.cnblogs.com/buerjiongjiong/p/12574074.html