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. 这就是无意创建了全局变量.
2.在数组A指定位置插入一个数组B,且把数组B的元素展开在数组A中
let arrA = [1,2,3]; let arrB = [4,5,6]; //将arrB的所有元素插入数组arrA的指定位置 arrB.unshift(insertIndex + 1, 0); Array.prototype.splice.apply(arrA, arrB);