javascript - 如何在 JavaScript 中声明 ClassName.FunctionName.myFunction() ?

标签 javascript function class oop undefined

因此,我正在尝试访问类中函数中的两个函数。 modal_1() 如下代码所示。 console.log("inside 1st"); 工作正常,但是当我尝试进一步操作时(例如 modal_1.show_modal_1(); ),它会给我以下错误消息:

ERROR MESSAGE

模态类:

const Modals = class {
   modal_1(){
        console.log("inside 1st");

        var hide_modal_1 = function () { 
            console.log("hide modal 1");
            //document.getElementById("modal_setup3DScene").style.display = "none"; 
        };
        var show_modal_1 = function() {
            console.log("show modal 1");
            //document.getElementById("modal_1-content").style.display = "block"; 
        };
    }
};

我用什么来调用 Modals 类:

let modals_List;
function setup() {
    modals_List = new Modals();
    modals_List.modal_1().show_modal_1();
}

最佳答案

您没有在函数 modal_1 中显式返回某些内容,因此返回值将为未定义。然后您尝试在 undefined 上调用 show_modal_1()。由于该属性不存在,因此您会收到此错误。

可以通过返回函数来解决,如下:

const Modals = class {
   modal_1() {
        console.log("inside 1st");
        return {
            hide_modal_1: functio () { 
                console.log("hide modal 1");
            },
            show_modal_1: function() {
                console.log("show modal 1");
            }
        }
    }
};

关于javascript - 如何在 JavaScript 中声明 ClassName.FunctionName.myFunction() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54449248/

相关文章:

c++ - 这个回调有什么问题?

c++ - 在即将到来的 c++0x 标准下,我们可以通过这种语法将数组作为参数传递给函数吗?

c++ - 使用带类错误的 map ,编译错误

javascript - 异步调用mongojs find函数

javascript - 期望在 Javascript 中未定义

java - 计算字符串中辅音的数量

java - 为什么我不能在 Java 中复制数组的一部分?

Ruby - 如何在没有 .new 的情况下创建 MatchData 对象?

javascript - 如何在 HTML/Javascript 中创建事件/非事件缩略图

javascript - 获取对象 HTMLImageElement 而不是 base64 字符串