我学习 Js_dom 编程艺术这本书的时候看到以下代码: 在其中 else 部分我不是很理解: 第一:oldonload 我在定义时是变量,怎么可以直接当成方法使用? 第二:通过如图的代码将多个函数绑定到 window.onload 事件上和直接通过: window.onload(){ 函数 1; 函数 2; } 有区别吗?
现实中应该不会这样编程吧,逻辑不清晰,代码又难看。一般都会用一个函数来统一管理吧。
JavaScript 作为弱数据类型语言,可以把 Function 赋值给变量,你可以用文中的方式或 oldonload.call()来调用
oldonload.call()
第二个问题,就是你学习方法有问题,动手敲一下就知道了
第一:javascript 中,函数是对象,可以赋给变量的。此时,变量就是该函数,如图中的:oldonload 就是 window.onload,在变量后面添加 () 就是调用执行,如图中的 oldonload();
第二:window.onload(){ 函数 1; 函数 2; } 的写法不对吧,想说的意思是:window.onload = function(){...} ,对吗?从执行的结果来看,和 addLoadEvent 一样的感觉(只是看图中的代码,没有实际运行验证),不过用途是不同的。window.onload = function(){...} 随便在哪个页面都可以很快使用,addLoadEvent 应该多用在写比较复杂的应用时。
我试了下 window.onload =function(){ 方法 1; 方法 2; } 方法 1,2 还是可以都被绑定到 onload 事件上;
可能我问问题的时候大意了。我也觉得大概是那样。谢谢回答。
回复错了
我问问题的时候大意了,我第二个问题想得问的是,单独用 window.onload = function(){...}就可以绑定多个事件, 为什么还要还要写 addLoadEvent?感觉复杂化了?