Se utilizan dos funciones anónimas, que solo se juzgan una vez durante la inicialización y no se requiere ningún juicio para cada llamada posterior. La eficiencia es relativamente alta. A continuación se muestra un ejemplo de cómo agregar un evento.
Copie el código de código de la siguiente manera:
// Método 1
función agregarEvento(el, tipo, fn){
si(el.addEventListener){
el.addEventListener(tipo, fn, falso);
}demás{
el.attachEvent('en'+tipo, fn)
}
}
// Método 2
var addEvent = document.addEventListener?
función (el, tipo, fn) {el.addEventListener (tipo, fn, falso);}:
function(el, tipo, fn) {el.attachEvent('on'+tipo, fn)};
El método 1 realiza el juicio dentro de la función. Cada vez que se agrega un evento a un elemento, es necesario juzgarlo una vez, lo cual es relativamente ineficiente.
jQuery 1.6.1/Prototype 1.7/Mootools 1.3/tangram 1.3.6/reg.js/right.js utilizan este método de ramificación.
El método 2 utiliza dos funciones anónimas, que solo se juzgan una vez durante la inicialización y no se requiere ningún juicio para cada llamada posterior. La eficiencia es relativamente alta.
Ext/kissy/qwrap utiliza este método de escritura en rama.