يتم استخدام وظيفتين مجهولتين، يتم الحكم عليهما مرة واحدة فقط أثناء التهيئة، ولا يلزم الحكم لكل استدعاء لاحق. الكفاءة عالية نسبيا. فيما يلي مثال لإضافة حدث
انسخ رمز الكود كما يلي:
// الطريقة الأولى
وظيفة addEvent(el, type, fn){
إذا (el.addEventListener){
el.addEventListener(type, fn, false);
}آخر{
el.attachEvent('on'+type, fn)
}
}
// الطريقة الثانية
var addEvent = document.addEventListener؟
الوظيفة (el، type، fn) {el.addEventListener (type، fn، false)؛}:
function(el, type, fn) {el.attachEvent('on'+type, fn)};
الطريقة الأولى تصدر الحكم داخل الوظيفة في كل مرة تتم فيها إضافة حدث إلى عنصر ما، يجب الحكم عليه مرة واحدة، وهو أمر غير فعال نسبيًا.
تستخدم كل من jQuery 1.6.1/Prototype 1.7/Mootools 1.3/tangram 1.3.6/reg.js/right.js طريقة التفرع هذه.
تستخدم الطريقة الثانية وظيفتين مجهولتين، يتم الحكم عليهما مرة واحدة فقط أثناء التهيئة، ولا يلزم الحكم لكل استدعاء لاحق. الكفاءة عالية نسبيا.
يستخدم Ext/kissy/qwrap طريقة الكتابة الفرعية هذه.