javascript - 使用同一对象中的其他方法调用对象中的方法

标签 javascript object methods

我需要validateText 函数来调用modalFunc。我该怎么做?

function geoAlert(lodash) {

    var me = this;

    return {
        modalFunc: function(text) {
            alert(text);
        },
        validateText: function() {
            modalFunc("hello")
        }
    }
}

当我运行时:

geoAlert.validateText(); 我会得到这个错误:

ReferenceError: modalFunc 未定义

使用 me.modalFunc("hello") 也不起作用。请帮助并提前致谢。

最佳答案

看起来您正在尝试使用揭示模块模式;返回一个有效提供方法的对象。为此,您需要按如下方式执行主函数(注意末尾的“()”意味着它将立即被调用):

var geoAlert = function(lodash) {

    return {
      modalFunc: function(text) {
            alert(text);
      },
      validateText: function() {
        this.modalFunc("hello")
      }
    };
}();


geoAlert.validateText('Some text');

我所做的另一个更改是 modalFunc 需要以 this 为前缀,因为它作为与 validateText 相同的返回对象的一部分存在。

关于javascript - 使用同一对象中的其他方法调用对象中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41384868/

相关文章:

c# - "A <T>(IList<T> x) where T : I"和 "A(IList<I> x)"之间的区别?

c++ - 是否可以在 C++ 中以这种方式调用对象方法?

javascript - 如何让 JQuery 与 iCheck 插件一起工作

javascript - 如何在 wordpress 中使页脚宽度负责(主题二十十三)

javascript - 如何在 zepto 中实现类似 slideDown() 的 jquery

循环中的 C++ 对象引用

具有相同方法的 C# 子类

javascript - 提交表格,停留在同一页面并消息确认

javascript - 选中复选框时形成对象数组 angularjs

javascript - ES6 Method Definition Shorthand 是否只创建一个函数对象?