[关闭]
@brizer 2016-03-12T18:43:32.000000Z 字数 539 阅读 914

编写可维护的javascript第三章语句和表达式


switch语句

javascript中的switch语句的行为和在其他语言中是不一样的:switch语句中可以使用任意类型值任何表达式都可合法地用于case从句。但是在其他语言中则必须使用原始值和常量。

缩进

很多人写的switch像java风格的缩进:

  1. switch(condition) {
  2. case "first":
  3. //code
  4. break;
  5. case "second":
  6. //code
  7. break;
  8. default:
  9. //code
  10. }

但是Crockford和Dojo编程规范则提倡另一种写法:

  1. switch(condition) {
  2. case "first":
  3. //code
  4. break;
  5. case "second":
  6. //code
  7. break;
  8. default:
  9. //code
  10. }

for-in循环

for-in循环有可能会遍历原型链。所以最好使用hasOwnProperty()方法来过滤:

  1. var prop;
  2. for (prop in object) {
  3. if(object.hasOwnProperty(prop)){
  4. //code
  5. }
  6. }

还有一点需要注意,for-in是用来对实例对象和原型链中的键(key)做遍历的,而不是用来遍历包含数字索引的数组的。因为for-in最好不要用于数组。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注