두 가지 익명 함수가 사용되는데, 이는 초기화 중에 한 번만 판단되며 이후 호출마다 판단이 필요하지 않습니다. 효율성은 상대적으로 높습니다. 이벤트를 추가하는 예는 다음과 같습니다.
다음과 같이 코드 코드를 복사합니다.
// 방법 1
함수 addEvent(el, type, fn){
if(el.addEventListener){
el.addEventListener(type, fn, false);
}또 다른{
el.attachEvent('on'+type, fn)
}
}
// 방법 2
var addEvent = document.addEventListener?
함수(el, type, fn) {el.addEventListener(type, fn, false);}:
function(el, type, fn) {el.attachEvent('on'+type, fn)};
방법 1은 함수 내에서 판단을 내리는 방식으로 요소에 이벤트가 추가될 때마다 한 번만 판단해야 하기 때문에 상대적으로 비효율적이다.
jQuery 1.6.1/Prototype 1.7/Mootools 1.3/tangram 1.3.6/reg.js/right.js는 모두 이 분기 방법을 사용합니다.
방법 2는 두 가지 익명 함수를 사용하는데, 이는 초기화 중에 한 번만 판단되며, 후속 호출마다 판단이 필요하지 않습니다. 효율성은 상대적으로 높습니다.
Ext/kissy/qwrap은 이 분기 작성 방법을 사용합니다.