是否有一组东西是每个JavaScript程序员都应该知道的,以便能够说“我懂JavaScript”?


当前回答

你知道javascript,如果你能有效地使用数组,数字,字符串,日期和对象。为Math和RegExp加分。你应该能够编写函数和使用变量(在正确的范围内,即作为对象的“方法”)。

我看到一些关于了解闭包的评论,奢侈的函数语法,blabla。所有这些都与这个问题无关。这就好比说,如果你能在11秒内跑完100米,你就是一名跑步者。

我说可能需要几周的时间来精通javascript。在那之后,你需要花费数年时间,阅读数十本书,编写数千行程序,才能成为专家、忍者等等。

但这不是问题所在。

对了,DOM不是javascript的一部分,jQuery也不是。所以我认为两者都与这个问题无关。

其他回答

如果你想成为一个真正的JavaScript高手,你应该知道完美JavaScript测试中每个问题的答案。

下面这个例子可以让你胃口大开:

(function f(f){ 
  return typeof f(); 
})(function(){ return 1; });

这个表达式返回什么? “数量” “定义” “功能” 错误

jQuery是我最好的推荐。不仅仅是代码本身,它的习惯用法、风格和背后的思想都是最值得模仿的。

Javascript对象和函数都是一等公民,回调,别忘了还有事件和JQuery。

JSLint http://www.JSLint.com/

数组中。Length方法不是数组项的计数,而是最高索引。即使该项被设置为undefined

var a = [];
a.length;   // === 0
a[10];      // === undefined
a[10] = undefined;
a.length;   // === 11
a.pop();    // === undefined
a.length;   // === 10

这种行为很难与语言设计错误区分开来。