0

我有以下内容:

 switch (entity) {
    case "Topic":
        return {
            pk: "0006000",
            param: "?pk=0006000",
            table: "Content",
            success: true
        };
        break;

对于不同的实体,这会随时重复。所有代码都以相同的方式使用 return 语句然后是 break 进行编码。

当我运行 jslint 时,它抱怨说“以防万一返回后中断”。我应该以不同的方式对此进行编码吗?

4

4 回答 4

1

“我应该以不同的方式编码吗?”

是的,删除break. 因为函数已经返回,所以它在那里没用。

于 2012-09-28T03:26:24.990 回答
1

不需要使用breakafter returnreturn会导致函数立即存在,之后的任何代码return都不会被执行。

还有什么办法吗?您可以使用对象来保持关系。

var map = {
  'Topic' : {
            pk: "0006000",
            param: "?pk=0006000",
            table: "Content",
            success: true
   },
   // ...
};

return map[entity];
于 2012-09-28T03:26:57.563 回答
0

在这种情况下,break 语句永远不会命中,因为在此之前就已经返回了值。

您可以安全地移除中断;

但我觉得将它存储在变量中后返回它是一个好习惯

var obj = {};
 switch (entity) {
    case "Topic":
       obj= {
            pk: "0006000",
            param: "?pk=0006000",
            table: "Content",
            success: true
        };
        break;
   }
   return obj;
于 2012-09-28T03:27:29.913 回答
0

你并不真的需要休息,但我认为从 switch 语句中返回不是一个好习惯。设置一个变量,切换后返回。

于 2012-09-28T03:30:51.137 回答