您認爲哪一個是更好,更快,更好的聲明函數的解決方案?var myFunction = function(){}; vs function myFunction(){};
第一:
(var) myFunction = function(){
//Stuff to do
};
或二:
function myFunction() {
//Stuff to do
};
雙方將在JavaScript和JQuery工作。但你認爲更好?
您認爲哪一個是更好,更快,更好的聲明函數的解決方案?var myFunction = function(){}; vs function myFunction(){};
第一:
(var) myFunction = function(){
//Stuff to do
};
或二:
function myFunction() {
//Stuff to do
};
雙方將在JavaScript和JQuery工作。但你認爲更好?
請注意,兩者的行爲不同 - 在執行代碼之前定義了由function
語句定義的函數。
typeof f; //returns 'undefined'
var f = function() {};
但
typeof f; //returns 'function'
function f() {}
(你是否也注意到,我沒有和在那裏我沒有用分號?)
此外,函數語句(第二個選項)塊被禁止。它不是規定的下列應如何工作:
if (false) {
function f(){}
}
因此它可能是功能f
會,雖然不合邏輯,在某些瀏覽器中聲明。然而,它允許執行以下操作:問一個問題之前
var f;
if (some expr) {
f = function() {};
}
下一次更好的搜索,var functionName = function() {} vs function functionName() {}
Thx對於這個很好的解釋!問候 – blackrafi
每個人都喜歡一些或其他的編碼風格。我認爲第二個仍然是一個更好的選擇,因爲它的可讀性和效率更高 – Rohan
[Javascript:var functionName = function(){} vs function functionName(){}](http://stackoverflow.com/questions/336859/javascript-var-functionname-function-vs-function-functionname) – duri