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