函数调用javascript

Function call javascript

本问题已经有最佳答案,请猛点这里访问。

我称之为地狱世界,并用以下两种不同的方式定义它:

1)有变量

2)函数名为itseld

1
2
3
4
5
6
7
8
9
var helloWorld = function() {
    return '2';
}

function helloWorld() {
    return '1';
}

alert (helloWorld());  // This alert 2, but in absence of"var helloWorld = ....", it alert"1".

有人能解释一下为什么叫var helloword=?而不是函数helloworld()?

谢谢您!!


为什么叫var helloword=?而不是函数helloworld()?

因为functions的定义将是hoisted的顶部。任务仍然在同一个地方。所以它得到了overridden

这就是解释程序看到代码的方式,

1
2
3
4
5
6
7
8
9
10
11
12
function helloWorld() {
    return '1';
}

var helloWorld;

//the above function is getting overridden here.
helloWorld = function() {
    return '2';
}

alert (helloWorld());