JavaScript 扩展方法

标签 javascript

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/

相关文章:

javascript - 如何在 Javascript 中计算自然数 1 到 N 的 LCM?

javascript - 如何以编程方式在 JavaScript 中设置对象属性?

javascript - 将状态映射到 Prop 在 Redux 之后不更新

javascript - 使用ajax打开动态php页面

javascript - JS elementFromPoint 获取检索到的元素下方的元素

javascript - Firebase 身份验证密码重置

javascript - 需要功能帮助处理此数据结构

javascript - json data key以数字开头,无法通过jquery显示

javascript - 可点击的三个 Js Objects/Convex Items

javascript - 使用 JavaScript 和 CSS 将一个 div 与另一个 div 重叠时出现问题