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


当前回答

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

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

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

但这不是问题所在。

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

其他回答

变量是全局的,除非声明为局部的!!

Bad (DoSomething()只被调用10次):

function CountToTen()
{
  for(i=0; i< 10; i++)
  {
    DoSomething(i);
  }
}

function countToFive()
{
  for(i=0; i<5; i++)
  {
    CountToTen();
  }
}

CountToFive();

好(DoSomething()按预期被调用50次):

function CountToTen()
{
  var i;
  for(i=0; i< 10; i++)
  {
    DoSomething(i);
  }
}

function countToFive()
{
  var i;
  for(i=0; i<5; i++)
  {
    CountToTen();
  }
}

CountToFive();

JSLint http://www.JSLint.com/

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

我强烈推荐阅读Javascript: The Good Parts

理解Crockford的《Javascript: the Good Parts》中所写的内容是一个很好的假设,即一个人是一个体面的JS程序员。

你可以知道如何使用一个好的库,如JQuery,但仍然不知道Javascript隐藏的部分。

另一个注意事项是各种浏览器上的调试工具。JS程序员应该知道如何在不同的浏览器中调试代码。

哦!知道JSLint会完全伤害你的感情!!