-1
我不知道爲什麼這個工程聲明javascript函數調用本身
(function Test() {
alert('x');
}())
但這不起作用
function Test() {
alert('x');
}()
如何外括號改變事情的優先順序,並使其發揮作用?
我不知道爲什麼這個工程聲明javascript函數調用本身
(function Test() {
alert('x');
}())
但這不起作用
function Test() {
alert('x');
}()
如何外括號改變事情的優先順序,並使其發揮作用?
你可以用括號的圖像來明確你的操作。就像你做一些像3 * 2 + 4或3 *(2 + 4)的操作一樣。 當你
function Test() { alert('x'); }()
領航員只是看到單獨2個括號,而當你做
(function Test() { alert('x'); }())
它看你要執行的功能。
**以**'function'開頭的任何語句都是函數*聲明*,並且不可調用。如果函數出現在*表達式*中,則它是一個函數表達式,並且是可調用的。用paren開始聲明使其成爲表達式。你也可以使用'!function Test(){alert(x)}()',但這並不常見,而不是將整個東西包裝在parens中。 – 2014-11-07 00:31:51
請參閱**自調用函數**部分 – dazedconfused 2014-11-07 00:35:00
上的[函數定義](http://www.w3schools.com/js/js_function_definition.asp)。請刪除jQuery標籤。 – 2014-11-07 00:36:03