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


当前回答

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

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();

其他回答

..javascript不是Java:)

很多人从网站开发开始就告诉我javascript就是简单的java!

在Javascript中,性能很重要。

没有智能编译器来优化你的代码,所以你应该更小心,当你写javascript代码比语言像c#, Java…

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

如何使用好的部分,如何避免糟糕的部分。

知道Javascript最初被称为LiveScript,加上“Java”前缀是出于营销目的,而不是因为Java和Javascript有关系(它们并没有关系)。

哦,对于拥有任何版本的David Flanagan的“Javascript:权威指南”(这一信息在第2页)。

... 感谢那些之前试图混淆ie4文档的人。all[]和Netscape Navigator 4的文档。在Jquery之前使用layers[]消除了这种痛苦。

编辑:

正如@Kinopiko指出的,JavaScript最初被称为项目Mocha(一些消息来源也认为它被称为项目LiveWire),但人们普遍认为,该语言(由Brendan Eich编写)在1996年初发布时采用Java前缀之前,计划以LiveScript的形式发布。