Dmitry Baranovskiy 的博客中有篇文章(链接),其中有五段小代码,用来测试是否理解JavaScript 的核心,闭包和作用域。大家先试着给出alert 语句的输出结果。之后再建一个测试文件,检测你的答案。
- if (!("a" in window)) {
- var a = 1;
- }
- alert(a);
- var a = 1,
- b = function a(x) {
- x && a(--x);
- };
- alert(a);
- function a(x) {
- return x * 2;
- }
- var a;
- alert(a);
- function b(x, y, a) {
- arguments[2] = 10;
- alert(a);
- }
- b(1, 2, 3);
- function a() {
- alert(this);
- }
- a.call(null);