JavaScript函数声明之间的区别?

use*_*729 1 javascript

为什么调用我的JavaScript函数会在我这样调用时抛出错误

wysiwyg2();

var wysiwyg2 = function()
{
    alert(1);
}
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时工作?

wysiwyg2();

function wysiwyg2 ()
{
    alert(1);
}
Run Code Online (Sandbox Code Playgroud)

Chr*_*tow 11

您需要首先定义函数变量,即

var wysiwyg2 = function()
{
    alert(1);
}

wysiwyg2();
Run Code Online (Sandbox Code Playgroud)

有关差异的详细解释,请参阅为什么我可以在Javascript中定义之前使用函数?