São usadas duas funções anônimas, que são julgadas apenas uma vez durante a inicialização, e nenhum julgamento é necessário para cada chamada subsequente. A eficiência é relativamente alta. Aqui está um exemplo de adição de um evento
Copie o código do código da seguinte forma:
// Método 1
function addEvent(el, tipo, fn){
if(el.addEventListener){
el.addEventListener(tipo,fn,falso);
}outro{
el.attachEvent('on'+tipo,fn)
}
}
// Método 2
var addEvent = document.addEventListener?
função(el, tipo, fn) {el.addEventListener(tipo, fn, falso);}:
function(el, tipo, fn) {el.attachEvent('on'+type, fn)};
O método 1 faz o julgamento dentro da função Cada vez que um evento é adicionado a um elemento, ele precisa ser julgado uma vez, o que é relativamente ineficiente.
jQuery 1.6.1/Prototype 1.7/Mootools 1.3/tangram 1.3.6/reg.js/right.js todos usam esse método de ramificação.
O Método 2 usa duas funções anônimas, que são julgadas apenas uma vez durante a inicialização, e nenhum julgamento é necessário para cada chamada subsequente. A eficiência é relativamente alta.
Ext/kissy/qwrap usa este método de escrita de ramificação.