Этот фрагмент кода находится в онлайн-книге Addy Osmani, «Learning JavaScript Design Patterns».Функция Javascript, расширение объекта с расширением
// Extend an object with an extension
function extend(extension, obj){
for (var key in extension){
obj[key] = extension[key];
}
}
Он утверждает, что может распространять объект с расширением. Он хорошо работает в образце книги. controlCheckbox
может хорошо функционировать для обоих определений, Subject
и DOM checkbox
.
<input id="mainCheckbox" type="checkbox"/>
...
var controlCheckbox = document.getElementById("mainCheckbox"),
...
extend(new Subject(), controlCheckbox);
...
controlCheckbox["onclick"] = new Function("controlCheckbox.Notify(controlCheckbox.checked)");
Но я просто не могу получить точку, почему он продлен? Определение функции extend
выглядит overrding, вместо расширения, controlCheckbox
из DOM checkbox
к Subject
, в моих глазах бедных. Может ли кто-нибудь помочь мне понять?
Объяснение в порядке, но эта ссылка - это ничего, кроме «официального». – bfavaretto
@ bfavaretto лучше сейчас? ;) – Joren
Да, спасибо!Не поймите меня неправильно, но качество контента w3schools сомнительно и, несмотря на название, оно не связано с w3c. MDN (wiki) является лучшей ссылкой. – bfavaretto