是否有一组东西是每个JavaScript程序员都应该知道的,以便能够说“我懂JavaScript”?
当前回答
数组中。Length方法不是数组项的计数,而是最高索引。即使该项被设置为undefined
var a = [];
a.length; // === 0
a[10]; // === undefined
a[10] = undefined;
a.length; // === 11
a.pop(); // === undefined
a.length; // === 10
这种行为很难与语言设计错误区分开来。
其他回答
要说“我懂JavaScript”,你应该注意以下几点:
JavaScript很好,但DOM是个痛点 跨浏览器问题会让你抓狂 除非代码在至少4个不同的好浏览器上测试过,否则你不能说它没有bug 关闭 ..............必须知道 其原型基于...........很好,学习这个很有趣 调试器关键字.....在危机中提供帮助
变量是全局的,除非声明为局部的!!
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不是一个小时就能学会的!
Javascript对象和函数都是一等公民,回调,别忘了还有事件和JQuery。
我强烈推荐阅读Javascript: The Good Parts