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

时间:2016-01-16 21:32:39

标签: 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(',');
}




1 个答案:

答案 0 :(得分:1)

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

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

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