JS中无法识别的符号

时间:2014-02-28 10:54:48

标签: javascript jquery notation

我一直在读一本关于用Javascript编写单页应用程序的书,我试过这段代码:

//begin merge changes into anchor map
        KEYVAL:
        for(key_name in arg_map){
            if(arg_map.hasOwnProperty(key_name)){
                //skip dependent keys during iteration
                if(key_name.indexOf('_') === 0){
                    continue KEYVAL;
                }

                //update independent key valie
                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];
                }
            }
        }

问题在于我不知道'KEYVAL:'的作用。有人可以解释并可能参考我的特定符号的一些文档吗?谢谢。

1 个答案:

答案 0 :(得分:1)

KEYVAL:这是一个标签。这是执行跳转到continue KEYVAL;语句的地方。

请参阅the MDN on continue

  

continue语句可以包含允许的可选标签   程序跳转到标记循环语句的下一次迭代   而不是当前的循环。在这种情况下,继续声明   需要嵌套在这个带标签的语句中。

这主要用于处理嵌套循环,因为它允许您选择要跳转的循环级别。在您的代码中,它看起来毫无用处,您可以删除标签并保留一个简单的continue语句。