2

译文来源:http://dmitry.baranovskiy.com/post/91403200

这里有5个小脚本,有助于你真正理解JavaScript核心–闭包和作用域。没有在控制台运行之前,尝试回答每个案例中会弹出什么内容,然后你可以创建一个测试文件去核对你的答案。你准备好了吗?

1、

if (!("a" in window)) {

 var a = 1;

 }

 alert(a);

2、

 var a = 1,

    b = function a(x) {

         x && a(--x);

     };

 alert(a);

3、

 function a(x) {

     return x * 2;

 }
 var a;

 alert(a);

4、

 function b(x, y, a) {

    arguments[2] = 10;

     alert(a);

 }

 b(1, 2, 3);

5、

 function a() {

     alert(this);

 }

 a.call(null);

参考答案:http://www.ido321.com/914.html


我是星礼
12.7k 声望1.1k 粉丝

Front-end Dev Handbook: 前端开发者手册