【问题标题】:javascript break label showing syntax errorjavascript中断标签显示语法错误
【发布时间】:2016-10-09 12:47:03
【问题描述】:

我有下面的代码:

 LableName_1:    
  if(ttipPos == 'left') {   
     //do sumthing  
     break L;  
   }    
  LableName_2:            
  if(ttipPos == 'right') {  
     //do sumthing  
     break LableName_1;  
   }

我使用 break 和标签名称的地方

这显示语法错误,但是如果我在第二个if 语句中将break LableName_1 替换为break LableName_2,则不会发生语法错误.... 是否存在与使用范围相关的问题break带标签。

【问题讨论】:

  • break 是 JavaScript 中的关键字。你想做什么?
  • 你不应该在 if 语句中使用 break
  • 确实,你的目标是什么?

标签: javascript syntax-error break


【解决方案1】:

第二次中断失败,因为它不在标签 #1 内。它不能破坏它不在的东西。

LabelName_2: {
  LabelName_1: {
    while (1) {
      console.log('label 1');
      break LabelName_1;
    }
  }
  console.log('label 2')
  break LabelName_2;
}
console.log('out of labels');

【讨论】:

  • 好的...但是我们不能直接从第二个 if 语句转到 LableName_1...有没有类似 goto 的方法(我知道 javascript 没有 goto 语句)..但是还有其他的吗像 goto 这样的方式,这样我们就可以直接跳转到 LableName_1 ?
  • 通过使用函数调用。从某种意义上说,它们基本上是 goto。如果我知道您要做什么,我会为您提供更多帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-13
  • 1970-01-01
  • 2018-08-12
相关资源
最近更新 更多