大叔整理的《深入理解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);
原文轉自:http://www.anti-gravitydesign.com