5个JavaScript闭包与作用域经典案例解析
作者:闭包旅人时间:2026-10-28 14:36:18浏览:187
本文通过5个JavaScript代码片段深入解析闭包与作用域机制。内容涵盖变量声明提升、函数表达式命名、arguments对象引用及this指向等核心概念。通过对比预测答案与真实运行结果,帮助开发者准确理解JavaScript引擎在变量查找和上下文绑定时的行为逻辑。
JavaScript闭包与作用域测试案例
这里整理了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]
作者最新文章
怎么用 Promise 封装 JavaScript sleep 函数实现异步延时
2026-11-05 17:49:14
什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
