Gau*_*rma 7 javascript function
我只使用jQuery编写JavaScript代码.令我困惑的一件事是这两种写函数的方法,
第一种方法
vote = function (action,feedbackId,responseDiv)
{
alert('hi');
return feedbackId;
}
Run Code Online (Sandbox Code Playgroud)
第二种方法
function vote(action, feedbackId,responseDiv)
{
alert('hi');
return feedbackId;
}
Run Code Online (Sandbox Code Playgroud)
两者之间有什么区别?为什么要使用第一种方法或第二种方法?
第一个是赋值给变量的函数表达式vote,第二个是函数声明.
主要区别在于函数语句在分析时计算,它们在运行时声明之前可用.
也可以看看:
function myFunction() {}
Run Code Online (Sandbox Code Playgroud)
......被称为"功能声明".
var myFunction = function() {};
Run Code Online (Sandbox Code Playgroud)
......被称为"函数表达式".
它们非常相似; 然而:
函数声明可以在引用后声明,而函数表达式必须在引用之前声明:
// OK
myFunction();
function myFunction() {}
// Error
myFunction();
var myFunction = function() {};
Run Code Online (Sandbox Code Playgroud)由于函数表达式是一个语句,因此应该跟一个分号.
见函数的构造与功能的声明与函数表达式在Mozilla开发者中心以获取更多信息.