只是一个快速...
格式化 JavaScript 函数的正确方法是什么?
我是这样看的:
function doThis(){
}
像这样:
doThis = function(){
}
也许这没什么区别。请让我知道什么是最好的,或者它们是否有不同的理由或目的。
干杯
C
最佳答案
它们是两个不同的东西,尽管它们都创建一个函数(并将其分配给一个变量)。
function name () {
}
是一个函数语句(或“函数声明”)。只有作为顶级脚本元素或直接作为函数元素出现才合法:也就是说,函数语句出现不合法在 if
或 while
等中。所有函数语句都“提升”到函数(或脚本)的顶部,因此以下是有效的:
a()
function a () { alert("a") }
形式:
variable = function name () {} // or variable = function () {}
函数关键字在函数表达式上下文中:它创建一个新的函数对象,并将生成的函数对象(只是一个“正常值”)分配给variable
。以下内容无效,因为函数表达式未被提升。
var b
b() // oops, does not evaluate to a function-object yet!
b = function b () { alert("b") }
综上所述,“正确的方法”是使用函数语句(“函数声明”)形式,除非有理由不这样做。
快乐编码。
另见:
关于javascript - 格式化javascript函数的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7782674/