定义JS函数的方式是否会影响它的“性能”

Does the way a JS function is defined affect it's "performance"?

本文关键字:性能 影响 是否 JS 函数 方式 定义      更新时间:2023-09-26

以下两种定义函数的方式有什么区别吗?

方法1)

var printName = function(name){
    return("Hi! My name is ",name)
}

方法2)

function printName(name){
    return("Hi! My name is ",name)
}

我的意思是 ANY,我是 JS 的新手,想在我前进之前放下我对函数和对象的理解,因为我觉得这两个功能是我最常使用的 2 个功能。

是的,有区别,但没有区别会影响函数代码在调用时的性能。

差异与创建函数的时间有关,但性能是相同的。 使用您的示例:

printName_1("Drew"); // This will fail, as printName_1 is not defined (yet)
printName_2("user4820485"); // This will work
var printName_1 = function(name){
    return "Hi! My name is "+name;
}
function printName_2(name){
    return "Hi! My name is "+name;
}

使用后一种语法声明的函数在它们出现的块的开头初始化,因此看起来可以在定义它们之前调用它们。