如何从对象内部调用函数并在代码其他部分中重复使用该功能



我有一个对象,该对象在对象内使用函数返回值。我想在代码的其他领域中使用相同的功能。我可以在对象外部有功能,然后称其为?

我尝试在对象之外创建功能,然后调用它,但对我不起作用。此代码工作正常

var split_object = {
    all: {
        h2_name:"Enterprise view",
    },
    impact_overall: {
        h2_name: function impactHeader() {
            var splitOpts = $('#splitBy option:selected').text();
            var impactOpts = $('#changeImpact option:selected').text();
              if (splitOpts == 'Split by Impact') {
                return impactOpts;
              }
        }
    },
}

我尝试将功能自行拉出,并像这样称呼它

impact_overall: {
    h2_name: impactHeader();
    },

替换以下内容:

`impact_overall: {
    h2_name: impactHeader();
    },`

与此:

`impact_overall: {
    h2_name: function() {impactHeader();}
    },

您添加了不必要的semicolon

impact_overall: {
    h2_name: impactHeader(); // <-- Here
},

只需删除

要重用对象中的代码,您可以使用上下文切换。您可以通过以下示例实现此目标。

obj中的geta((与其他obj重复使用。

var obj = {
  a:'value',
  getA: function(){
    return this.a;
  }
};
var otherObj = {a:'different value'};
obj.getA() // "value"
obj.getA.call(otherObj) // "different value"

最新更新