我有一個簡單的「擴展」的方法建立這樣的多個版本:的Javascript,簡單的擴展方法,允許延長對象
extend: function(source) {
for (var k in source) {
if (source.hasOwnProperty(k)) {
myThing[k] = source[k];
}
}
return myThing;
}
您可以使用它像
myThing.extend({
newObj: {
myFunc: function() { console.log('things'); }
}
});
和它的偉大工程。
不過,我很想加入到有一些其他部分的代碼調用稍後的能力:
myThing.extend({
newObj: {
mySecondFunc: function() { console.log('things'); }
}
});
,我應該能夠調用都myThing.newObj.myFunc()
和myThing.newObj.mySecondFunc()
。
我試圖將其更改爲這樣:
for (var k in source) {
if (source.hasOwnProperty(k)) {
if (mtUtils.hasOwnProperty(k)) {
for (var t in k) {
mtUtils[k][t] = source[k][t];
}
} else {
mtUtils[k] = source[k];
}
}
}
,但似乎並沒有工作。
我建議在尋找道格拉斯克羅克福德實施了不同的模式。 http://javascript.crockford.com/ –
@AaronKurtzhals:哪一部分?你只是把我送到整個網站。 –
我建議http://javascript.crockford.com/prototypal.html –