Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中,这两段代码是否等效?_Javascript - Fatal编程技术网

在JavaScript中,这两段代码是否等效?

在JavaScript中,这两段代码是否等效?,javascript,Javascript,我几乎是JavaScript新手,我正在学习匿名函数的使用。我已经编写了这段代码并进行了测试 代码1: function build(something) { return function(name) { alert("Here is " + something + "\nHello " + name + "!"); }; } 在那之后,我只是移除了;,但我得到了同样的结果。 代码2: 我调用函数的方式是(对于这两种情况): 它们是否相等,因为在任何情况下我都

我几乎是JavaScript新手,我正在学习匿名函数的使用。我已经编写了这段代码并进行了测试

代码1:

function build(something) {
    return function(name) {
        alert("Here is " + something + "\nHello " + name + "!");
    };
}
在那之后,我只是移除了;,但我得到了同样的结果。 代码2:

我调用函数的方式是(对于这两种情况):


它们是否相等,因为在任何情况下我都会出错?如果是这样,为什么不需要分号?最常用的是哪一个?

在某些情况下会自动插入分号


文档:

非常有用的答案,它清楚地表明JavaScript会在return语句之后自动插入分号:)。
function build(something) {
    return function(name) {
       alert("Here is " + something + "\nHello " + name + "!");
    }
}
var station = build("Station");
station();