js
js 变量作用域
问题 今天有人发了一个网站,问题来源。 一 if (!("a" in window)) { var a = 1; } console.log(a); 按照这种思路就可解,变量声明会被提前,也就是说上面的代码等价于下面代码 var a; if (!("a" in window)) { a = 1; } console.log(a); //所以a未定义,打印为undefined 二 var a = 1, b = function a(x) { x && a(--x); }; console.log(a)