Event.observe(window,"load",function(){..} v/s window.onload = function(){..}

Shr*_*har 5 javascript prototypejs

即使两者都做同样的事情,我只是想知道使用一个在另一个上有什么特别的优势吗?

Event.observe(window, "load", function(){
//do something
});

window.onload = function(){
//do something
}
Run Code Online (Sandbox Code Playgroud)

And*_*ies 11

区别在于window.onloadDOM Level 0事件模型中定义的差异将清除所有早期的注册事件.这是旧API的"原生"调用.

Event.observe从原型javascript框架将确定最佳的事件附加器可用.门面图案.在现代浏览器中,addEventListener将调用 - attachEvent如果Internet Explorer低于版本9.在旧浏览器onload中将调用.

很明显,Facade会选择最好的选项,比如Event.observe原型或者.load例如jQuery.

DOM Level 2事件模型中的方法优于DOM Level 0事件模型方法,因为它们充当观察者并且不会擦除先前的处理程序.