@brizer
2016-03-12T18:43:32.000000Z
字数 539
阅读 936
javascript中的switch语句的行为和在其他语言中是不一样的:switch语句中可以使用任意类型值,任何表达式都可合法地用于case从句。但是在其他语言中则必须使用原始值和常量。
很多人写的switch像java风格的缩进:
switch(condition) {
case "first":
//code
break;
case "second":
//code
break;
default:
//code
}
但是Crockford和Dojo编程规范则提倡另一种写法:
switch(condition) {
case "first":
//code
break;
case "second":
//code
break;
default:
//code
}
for-in循环有可能会遍历原型链。所以最好使用hasOwnProperty()方法来过滤:
var prop;
for (prop in object) {
if(object.hasOwnProperty(prop)){
//code
}
}
还有一点需要注意,for-in是用来对实例对象和原型链中的键(key)做遍历的,而不是用来遍历包含数字索引的数组的。因为for-in最好不要用于数组。