什么是KEYVAL?它的目的是什么?

时间:2015-05-10 17:07:36

标签: javascript

在阅读某个项目的代码时,我偶然发现了KEYVAL

KEYVAL:
      for(key_name in arg_map) {    // iterates over hash key|value pairs
        // if this key_name belongs to this object, not proto
        if(arg_map.hasOwnProperty(key_name)) {    

          // skip dependent keys during iteration
          if(key_name.indexOf('_') === 0) { continue KEYVAL; }

          // update independent key value
          anchor_map_revise[key_name] = arg_map[key_name];

          // update matching dependent key
          key_name_dep = '_' + key_name;
          if(arg_map[key_name_dep]) {
            anchor_map_revise[key_name_dep] = arg_map[key_name_dep];
          } else {
            delete anchor_map_revise[key_name_dep];
            delete anchor_map_revise['_s' + key_name_dep];
          }

        }  // if end
      }  // for end
那是什么?这个的目的是什么?它是JS语法的一部分吗?

1 个答案:

答案 0 :(得分:4)

这是一个标签。标签是一个标识符(此处为:KEYVAL),后跟冒号(:),位于语句之前(在本例中为for)。

continuebreak语句可以使用标签(在您的情况下为continue KEYVAL)来指定要继续或中断的循环。在这种情况下,KEYVAL: for是最里面的循环,因此标签实际上不是必需的;但如果您需要一次从多个级别中断,标签很有用。

有关MDN的更多信息,请参阅

编辑:for,而不是while