函数的调用的区别?

window.onresize = fn;
fn();
window.onresize = function(){
    fn();
}

请问大家这两种函数的调用有什么区别?为什么第二种方法一刷新就不能实现效果了?

慕勒小柒
浏览 1478回答 2
2回答

橋本奈奈未

第一种是将window的onresize属性指向fn函数,然后之后调用fn,等于初始触发一次fn,resize事件发生时也会触发,第二种只有在事件内部触发,没有初始调用

信者得救

第一个window.onresize = fn;  是将fn这个函数绑定到window.resize事件上,当发生此事件时执行函数fn;第二个fn(),这样是直接调用,就是浏览器解析javascript代码,解析到fn()时,就会执行。第三个window.onresize = function(){    fn();}就是将一个匿名函数绑定到window.onresize事件上,当发生此事件时,执行匿名函数function(){fn();},当解析到fn()的时候执行。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript