大叔手记(19):你真懂JavaScript吗?
2012-02-09 09:45 汤姆大叔 阅读(20308) 评论(73) 编辑 收藏 举报介绍
大叔整理的《深入理解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);
同步与推荐
本文已同步至目录索引:《大叔手记全集》
大叔手记:旨在记录日常工作中的各种小技巧与资料(包括但不限于技术),如对你有用,请推荐一把,给大叔写作的动力。