javascript - 这是什么写法?
黄舟
黄舟 2017-04-10 17:07:43
[JavaScript讨论组]

var obj = {
  test:function(){
    var a=1;
    demo:if (a) {    //这个地方不懂
      var x = 33;
      break demo;
    }
    console.log(x); //33
  }
}
obj.test();
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
ringa_lee

demo 标记了一个语句块,break demo 跳出那个语句块

参考: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/break

黄舟

看 @hsfzxjy 给的参考网址,注意理解下面这句

break 语句包含一个可选的标记(label),可允许程序摆脱一个被标记的语句(labeled statement)。break 语句需要内嵌在引用的 label 中。被标记的语句(labeled statement)可以是任何 块语句;不一定是循环语句。

你这个例子看不出来这里的 break [label] 有啥用,我改了一点,就看得出来了

var obj = {
    test: function() {
        var a = 1;
        demo: if (a) {
                var x = 33;
                break demo;
                x = 44;  // 这句没执行
            }
        console.log(x); //33
    }
}
obj.test();
高洛峰

这是定义label和跳转的写法,为了跳出if定义了一个demo的标签,在ifbreak出去

PHP中文网

让写这个代码的人 说出这样写的理由
没有充分的理由 让他 改代码,并跟他说 去看 javascript: good part.

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号