你真懂JavaScript吗?

发表于:2012-02-10来源:博客园作者:甘南点击数: 标签:JavaScript
大叔整理的《深入理解JavaScript系列》已经快20篇了,不知道大家看的如何了? 除了大家熟知的闭包、原型、作用域以外,不知道大家是否真正理解了JavaScript的核心特性,在网上发现几个小题目非常有意思,正好适合考察大家对JavaScript的理解。 如果大家

  大叔整理的《深入理解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.ltesting.net