這裡有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]