介紹
大叔整理的《深入理解JavaScript系列》已經快20篇了,不知道大家看的如何了? 除了大家熟知的閉包、原型、作用域以外,不知道大家是否真正理解了JavaScript的核心特性,在網上發現幾個小題目非常有意思,正好適合考察大家對JavaScript的理解。
如果大家有興趣(或者自認為對JavaScript了解還不錯的人),可以嘗試着回答一下下面5個題目的輸出結果(不要google或baidu哦)。
至於正確結果嘛,自己可以將代碼復制到瀏覽器里就可以看到了(稍后這兩天,我會將詳細的解釋單獨發帖整理出來)。
PS:大膽點,不管結果對不對,都把你的答案貼出來(最好帶有自己的想法,后面我們和准確解釋做對比,這也是學習的過程)。
答案已經貼在《深入理解JavaScript系列(20):《你真懂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);
同步與推薦
本文已同步至目錄索引:《大叔手記全集》
大叔手記:旨在記錄日常工作中的各種小技巧與資料(包括但不限於技術),如對你有用,請推薦一把,給大叔寫作的動力。