我正在阅读一本关于单页应用程序的书,在某些时候有这样的 for...in 循环:
KEYVAL:
for(key_name in arg_map){
if(arg_map.hasOwnProperty(key_name)){
if(key_name.indexOf('_') === 0) continue KEYVAL;
anchor_map_revise[key_name] = arg_map[key_name];
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
词。它是一个变量吗?它代表什么?它是做什么用的?这个语法是什么意思?该词仅出现在包含的代码中的两个位置,并且在整个示例中再也没有出现。
我一直在搜索,试图解决这个问题,但到目前为止,我还没有找到任何信息。有人可以帮帮我吗?
谢谢。
最佳答案
KEYVAL:
是这里的一个标签,它在您的循环中用于迭代操作。看documentation
类似于GOTO语句。
它在您的代码中的作用是当此条件变为真时
if(key_name.indexOf('_') === 0) continue KEYVAL;
它转到标签 KEYVAL:
并再次运行循环而不执行此行下面的代码。
关于javascript - for...in 之前的未知 JavaScript 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17894376/