gpt4 book ai didi

javascript - 声明函数的方法

转载 作者:行者123 更新时间:2023-11-28 20:48:16 25 4
gpt4 key购买 nike

Possible Duplicate:
JavaScript: var functionName = function() {} vs function functionName() {}

这两个函数有什么区别

function a()
{
b=2;
alert(b);
}
a();

还有这个函数

var a=function()
{
b=2
alert(b);
}
a();

主要区别是什么

最佳答案

主要区别在于声明函数时:

function a(){
// something...
}

即使在声明它的代码位置之前,它也可以在同一范围内访问。

但是当您将匿名函数分配给变量时:

var a = function(){
// something...
};

在分配之前不可用。

创建函数时

这是函数实际创建时的结果。在第一种情况下,它是在编译代码时创建的,而在第二种情况下,函数是在解释器到达赋值行时创建的。

测试代码

通过执行以下代码( jsfiddle ),您可以看到我上面提到的差异:

try {
a();
} catch(e) {
alert('problem calling function a(): ' + e);
};
try {
b();
} catch(e) {
alert('problem calling function b(): ' + e);
};

​function a(){
alert('function a() called');
};

var b = function(){
alert('function b() called');
};​

您将看到(如 mentioned jsfiddle ),即使在实际声明之前,a() 函数也被正确调用,但 b() 在此之前不可用作业。

关于javascript - 声明函数的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13057822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com