快一点……
什么是格式化javascript函数的正确方法?
我这样看:
function doThis(){ }
并像这样:
doThis = function(){ }
或许它没有任何区别.请让我知道什么是最好的,或者他们都有不同的rasons或目的.
干杯
C
解决方法
它们是两个不同的东西,虽然它们都创建了一个函数(并将其赋值给变量).
function name () { }
是函数声明(或“函数声明”).只作为顶级脚本元素出现或直接作为函数元素出现是合法的:也就是说,函数语句出现在if或while等中是不合法的.所有函数语句都是“提升“到函数(或脚本)的顶部,因此以下是有效的:
a() function a () { alert("a") }
形式如下:
variable = function name () {} // or variable = function () {}
function关键字位于函数表达式上下文中:它创建一个新的函数对象,并将生成的函数对象(只是一个“正常值”)赋给变量.以下内容无效,因为函数表达式未被提升.
var b b() // oops,does not evaluate to a function-object yet! b = function b () { alert("b") }
尽管如此,“正确的方法”是使用函数声明(“函数声明”)形式,除非有理由不这样做.
快乐的编码.
也可以看看:
> What is the difference between a function expression vs declaration in JavaScript?
> Function Declarations vs. Function Expressions