5个可以帮你理解JavaScript核心闭包和作用域的小例子

(编辑:jimmy 日期: 2026/4/30 浏览:2)

这里有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);

我的预测答案分别是:undefined、1、不知道、10、null

答案在本文末尾,看答案之前,你敢留下你的猜测吗?

 

 

 

正确答案:1、undefined   2、1   3、function a(x){ return x * 2}   4、10  5、[object window]

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。