你自认为理解了JavaScript?

xiaojing7 2012-11-30 03:57:12
加精
英文原文地址:http://dmitry.baranovskiy.com/post/91403200
Dmitry Baranovskiy 的博客中有篇文章(http://dmitry.baranovskiy.com/post/91403200),其中有五段小代码,用来测试是否理解 JavaScript 的核心,闭包和作用域。大家先试着给出 alert 语句的输出结果。之后再建一个测试文件,检测你的答案。


if (!("a" in window)) {
var a = 1;
}
alert (a);



var a = 1,
b = function a (x) {
x && a (--x);
};
alert (a);



function a (x) {
return x * 2;
}
var a;
alert (a);



function b (x, y, a) {
arguments[2] = 10;
alert (a);
}
b(1, 2, 3);



function a () {
alert (this);
}
a.call (null);
...全文
71145 508 打赏 收藏 转发到动态 举报
写回复
用AI写文章
508 条回复
切换为时间正序
请发表友善的回复…
发表回复
zpjshiwo77 2015-08-21
  • 打赏
  • 举报
回复
mark一下,虽然不是很明白。
wwpfighting 2015-08-21
  • 打赏
  • 举报
回复
第五个不怎么懂,别的都会
sinat_30588345 2015-08-16
  • 打赏
  • 举报
回复
占座~~~~~~~~~~~~
  • 打赏
  • 举报
回复
长见识了!!
wiz_Chen 2015-08-09
  • 打赏
  • 举报
回复
gdut技术男 2015-08-05
  • 打赏
  • 举报
回复
要是笔试题那么简单就好了…
石头暮年 2015-07-23
  • 打赏
  • 举报
回复
好高深。。新人会努力
shang_yi 2015-07-20
  • 打赏
  • 举报
回复
我怎么看不懂?
hnshn 2015-07-17
  • 打赏
  • 举报
回复
题不错,第3个错了
玩第八 2015-07-15
  • 打赏
  • 举报
回复
一题都不会,这是什么节奏
css基地 2015-07-09
  • 打赏
  • 举报
回复
undefined 1 Function 10 window
raistlic 2015-07-08
  • 打赏
  • 举报
回复


如图是第五题在 ECMA Script 5 Specification 中的规定。

我想说,这几个题我大都不会,而且我觉得知道这些并不能帮助我加深对JavaScript这门语言的理解。

它们只是语言规范里的一些边边角角,而且多是anti pattern才会遇到。
所以看起来很神奇的特性,查一查语言规范就能找到,——如果找不到,那更糟糕,因为可能是规范里没有定义的行为,那么就取决于具体的解释器实现,并且可能还会变。

总之我觉得,这类“知识”没有太大的价值,也不必要花多少精力去研究。
ARMchocolate 2015-07-01
  • 打赏
  • 举报
回复
太久没用,忘得差不多了。。。
xiaoxiangqing 2015-06-25
  • 打赏
  • 举报
回复
有点难,只会做一二个。
xms1992 2015-06-24
  • 打赏
  • 举报
回复
荣G 2015-06-24
  • 打赏
  • 举报
回复
受教了。。。
qq_17470381 2015-06-09
  • 打赏
  • 举报
回复
第一次进入论坛, 就遇到难题, 还让不让愉快的学习js了?
Waitforsniping 2015-05-29
  • 打赏
  • 举报
回复
正确答案undefined、1、function a (x) {return x * 2;}、10、[object window],回答对了三个。。
泥泞的我 2015-05-29
  • 打赏
  • 举报
回复
看来我还是太弱了
yunshilai 2015-05-14
  • 打赏
  • 举报
回复
学习一下,现在虽然什么都不懂
加载更多回复(439)

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧