你好,你可以給我解釋一下什麼是的setTimeout(函數,時間)和的setTimeout(函數(),時間)的Javascript setTimeout函數混淆
0
A
回答
0
其他兩個答案都是正確的,但以防萬一你的問題不是關於匿名函數,而是像這樣
function onTimeout(){
console.log('foo');
};
setTimeout(onTimeout, 1000); // First form
setTimeout(onTimeout(), 1000); // Second Form
不同的是,在第一種形式,功能onTimeout被稱爲後1秒,這通常是期望的結果。
在第二種形式中,上Timout被立即調用,而不管??? 1秒後稱爲該功能;在這種情況下,未定義將被調用,因爲console.log返回未定義。所以這個函數會立即執行,1秒後什麼都不會發生。
0
基本上之間的區別,無論是你定義的功能,以後你通過它爲setTimeout
第一個參數:
function onTimeout() {
}
setTimeout(onTimeout, 3000);
...或者你給一個匿名函數的參數,你叫setTimeout
:
setTimeout(function() {
// Do stuff
}, 3000);
0
以下示例將解釋不同之處:
在超時時調用已定義的函數。
setTimeout(my_function, 1000);
function my_function() {
alert("Time is up!");
}
超時時調用匿名函數。
setTimeout(function() {
alert("Time is up!");
}, 1000);
第一個示例調用已定義的函數,而另一個示例程序將程序運行爲匿名函數。我根據需要使用兩者。
相關問題
- 1. 混淆調用Javascript函數
- 2. javascript函數的返回值混淆
- 3. Time.sleep函數混淆
- 4. Python函數混淆
- 5. MFC:ON_COMMAND函數混淆?
- 6. Python函數混淆
- 7. iOS:CFRunLoopRun()函數混淆
- 8. OnTime函數混淆
- 9. JavaScript參數混淆
- 10. 與箭頭函數相混淆javascript
- 11. 在JavaScript中混淆函數對象
- 12. Javascript - setTimeout函數
- 13. 的Javascript setTimeout函數
- 14. DirectX數學函數混淆
- 15. JavaScript BlockStatement混淆
- 16. Javascript Promise.all混淆
- 17. 混淆在JavaScript
- 18. 的JavaScript混淆雙
- 19. JavaScript的\」 \」 IM混淆
- 20. 與XPath number()函數混淆
- 21. 混淆F#List.Fold(冪函數)
- 22. 函數原型混淆
- 23. 構造函數混淆Java
- 24. jQuery函數隊列混淆
- 25. 函數名稱混淆
- 26. 聚合函數混淆
- 27. Dart lambda/shortland函數混淆
- 28. JQuery ReplaceWith()函數混淆
- 29. PHP PDO lastInsertId()函數混淆
- 30. 混淆構造函數鏈