main.js具有以下代码
APP.open = (function ($) {
return {
people: (function() {
return {
gender: function() {},
age: function() {}
}
})()
};
}(jQuery));
和exteral.js有这个:
APP.open = (function ($) {
return {
people: (function() {
return {
race: function() {}
}
})()
};
}(jQuery));
exteral.js 最后加载,因此会覆盖 main.js。
我的问题是,我应该如何编写 exteral.js 才能停止覆盖 people 方法。我想扩展 APP.open.people 方法。
最佳答案
添加特定方法而不是替换整个 APP.open
命名空间:
APP.open.people.race = function() {};
如果您不知道存在哪些命名空间,请先添加它们:
if (!'open' in APP) APP.open = {};
if (!'people' in App.open) App.open.people = {};
关于JavaScript 扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29780876/