javascript - 为什么在对象标记中调用函数是有效的?

标签 javascript function object

有人可以向我解释一下这是如何有效的吗?我从未见过类似的东西,也不期望它是有效的。

https://gist.github.com/martinaglv/0cf3f564d9c31c053da5#file-13-js

function whatDoesItDo(){

    var values = [];
    
    myBlock: {
        values.push('1');
        values.push('2');
        break myBlock;
        values.push('3');
    }
    
    values.push('4');
    
    return values.join(',');
}

最佳答案

有趣的是,这个东西(myBlock)是一个代码标签,一个非常古老的工具,用于为代码块命名。这在编码时被广泛使用,例如使用跳转指令等进行汇编时。它也用于使用像“goto”这样的函数(这不是邪恶的!!)。

所以,这里只是一个名为“myBlock”的 block ,它将元素插入到数组中。中断意味着代码将在 block 中停止执行(这就是数组中只有 2 个元素的原因)。

稍后,在插入“4”之后,join 方法将数组转换为由数组元素组成的字符串,并通过“,”分隔符连接。 (所以它变得像“1,2,4”)这就是返回值

关于javascript - 为什么在对象标记中调用函数是有效的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34832379/

相关文章:

javascript - 如何使用 node.js 允许用户通过用户名或电子邮件登录

javascript - 类型错误 : Cannot read properties of undefined (reading 'guild' )

c++ - 通过引用传递 void*

javascript - jQuery .forEach() 导致错误, "undefined is not a function"

javascript - 在 javascript 中更新对象并将属性组合在一起?

javascript - 调用Nuxt JS静态文件

javascript - 删除没有 ID 和特定内容的元素/节点

javascript - 通过引用函数传递对象,意外行为

function - 传递多个参数

C++实例化在另一个没有指针的类构造函数中没有默认构造函数的对象