JavaScript总结-—使用误区
比较运算符常见错误
var w=2;
var m="2";
if(w==m)
此时if条件语句返回的是true值;
var w=8;
var m="8";
if(w===m)
此时if条件语句返回的是false值;
之所以出现两种不同的情况,这是因为在严格的比较运算中,===为恒等
计算符,同时检查表达式的值和类型。
以下代码将不会执行alert弹窗,因为switch语句会用===来进行数据比较
var x = 10;
switch(x) {
case "10": alert("Hello");
}
数组中使用名字作为索引
var person = [];
person[0] = "John";
person[1] = "Doe";
person[2] = 46;
var x = person.length; // person.length 返回 3
var y = person[0]; // person[0] 返回 "John"
在 JavaScript 中, 对象 使用 名字作为索引。
如果你使用名字作为索引,当访问数组时,JavaScript 会把数组重新定义为标准对象。
执行这样操作后,数组的方法及属性将不能再使用,否则会产生错误:
var person = [];
person["firstName"] = "John";
person["lastName"] = "Doe";
person["age"] = 46;
var x = person.length; // person.length 返回 0
var y = person[0]; // person[0] 返回 undefined