0
A
回答
3
你不避免的事件對象。你擁抱他們。這就是說,如果你不想使用它,你不必使用它。當瀏覽器在onload
事件中觸發時,無論您是否請求,它都會將事件對象傳遞給處理程序。正如您所指出的那樣,即使您沒有在處理程序參數中專門爲其提供名稱,它也存在於arguments
陣列中。
正如其他人在這裏他們的答案和評論所指出的那樣,你可以添加另一個匿名函數被引發該事件進一步去除你的響應代碼,但我個人覺得這很不必要的。
由於@Yoshi在上面的評論中指出的,下面將工作:
img.onload = function() {
fn.call(this)
};
這將調用您的fn
方法傳入當前的上下文this
參考。再一次,我個人會避免觸摸事件對象,因爲這種類型的代碼可能會在離現在六週的時候讓別人和你自己感到困惑。
0
除了喬納森·桑普森的答案,一個簡單的解決方法可以像這樣
img.onload = function() {
fn();
}
這樣做,arguments
是空
看到小提琴(使用JavaScript控制檯):http://jsfiddle.net/ZxSEX/
相關問題
- 1. 使用編號爲FN ::子內在函數的第一個參數
- 2. MySQL的Decimal函數的第一個參數是做什麼的?
- 3. fn.apply(fn,[])做什麼?
- 4. 「type」的第一個參數是做什麼的?
- 5. cffunction:基於第一個參數的第二個參數
- 6. 第一個參數在ssrs中的第一個參數初始選擇後不會刷新第二個參數
- 7. 我可以做一個lambda參數嗎?
- 8. JavaScript語法(0,FN)(參數)
- 9. angularjs指令參數「FN」不是一個函數
- 10. image onload只改變第一個網址
- 11. gtk_drawing_area_size第一個參數
- 12. sqlite3_bind_xxxx,sqlite3_column_xxxx - 第一個參數
- 13. Keras LSTM:第一個參數
- 14. 第一個URL參數與
- 15. fgets函數的第一個參數
- 16. 哪一個是@PostConstruct或onload的第一個?
- 17. 第一個參數的MySQLi函數
- 18. 的.htaccess規則 - 第一個相同第一個參數
- 19. 差異FN(字符串參數... args)與FN(字串[] args)
- 20. 如何做出正確的FN ARGS當創建FN使用宏
- 21. SSRS有一個參數過濾第二個參數中的值
- 22. splice方法的第二個參數是做什麼的?
- 23. 爲什麼<body onload =「fn();」>使用函數調用,但是window.onload = fn;使用處理函數?
- 24. ListView中的AddHeaderView中的第二個參數是做什麼的?
- 25. zsh自動完成,基於第一個參數的第二個參數
- 26. JavaScript的第一個參數的路徑最後一個參數的回調
- 27. Firebase.Auth.GoogleAuthProvider.GetCredential的第一個參數是什麼?
- 28. 省略第一個參數的循環
- 29. CONVERT()中的第三個參數是做什麼的?
- 30. 如何創建一個忽略第一個參數時不存在的函數?
不太清楚我...在哪裏以及如何定義'fn'? – fcalderan 2012-04-19 16:14:17
'img.onload =函數(){fn.call(本)};' – Yoshi 2012-04-19 16:16:03
爲什麼不能簡單地忽略這樣的說法?你沒有明確地通過一個論點,所以大概你不希望使用一個論點。該函數傳遞觸發它的事件,這在某些情況下可能很有用。如果你不需要它,不要使用它。 – 2012-04-19 16:16:14