2
A
回答
8
我想你指的是什麼(我)之間的區別:
function(){}();
和(II):
function func(){};
func();
甚至(III) :
var func = function(){};
func();
所有這三種行爲同樣在考慮到的結果,但是他們有不同的命名和範圍的後果:
我:這不會使可用的功能以任何名義,它是運行一次並被遺忘。您不能引用它
II未來:創建並在全封閉的功能提供
func
功能,它被定義甚至之前(吊裝)III:
func
變量被定義爲指向一個函數。在定義之前它將不可訪問。
注意,在II和III功能是通過func
名referencable,可以再次調用多次。這對於I中的自我通話功能是不可能的。
相關問題
- 1. 爲什麼不是我的javascript函數沒有被調用
- 2. Javascript - 自調用和正常函數調用之間的區別是什麼?
- 3. 爲什麼在調用我的javascript函數時需要'javascript:'?
- 4. javascript新的自我調用函數
- 5. 自我調用的Javascript函數
- 6. 調用我自己的JavaScript函數
- 7. 函數調用中的自變量是什麼意思?
- 8. MooTools中的(函數($))是什麼Javascript
- 9. 什麼是由setTimeout調用的函數?
- 10. 這是什麼樣的函數調用?
- 11. 什麼是回調函數?
- 12. WordPress - 爲什麼我的自定義函數被調用兩次?
- 13. Javascript自調函數
- 14. 如何在其他函數中調用自調用javascript函數?
- 15. javascript中調用{}的列表是什麼?
- 16. 爲什麼我不能在函數更新中調用函數?
- 17. javascript回調函數和匿名函數的作用域是什麼?
- 18. 「函數」在Javascript中沒有定義錯誤:什麼是調用我的函數的正確方法?
- 19. 是什麼,而調用函數
- 20. 在JavaScript中,什麼是構造函數?而什麼不是?
- 21. Javascript中的自我調用函數的範圍
- 22. 反應js中的自我調用函數? (如正常的javascript)
- 23. 函數中覆蓋的JavaScript參數的用途是什麼?
- 24. 在自調用函數中提升javascript
- 25. 爲什麼我不能在.on中調用我的函數?
- 26. JavaScript即時函數調用 - 爲什麼函數需要括號?
- 27. 我應該傳遞這個JavaScript函數的參數是什麼?
- 28. 函數調用中,操作符是什麼,操作數是什麼?
- 29. 這個C qsort函數調用中的參數是什麼?
- 30. JavaScript函數中用於括號的用法是什麼?
同意,但在什麼情況下使用自我調用功能?我的意思是說他們有什麼特別的需求可以用於某種特定的場景? – wOlVeRiNe
我知道這是舊的,但對於其他讀者來說:你可以將所有自己的javascript包裝在一個大的自調用函數中,以便它可以運行,但是你知道它不會將變量名稱添加到全局名稱空間 - 沒有其他插件像jQuery或其他任何東西可能會意外地使用與您的相同名稱和衝突。 – iono