这段代码来自 Addy Osmani 的在线书籍《学习 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
看起来像是覆盖,而不是从 DOM延伸到。有人可以帮我理解吗?controlCheckbox
checkbox
Subject