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

如何在JavaScript中声明ClassName.FunctionName.myFunction()?,javascript,function,class,oop,undefined,Javascript,Function,Class,Oop,Undefined,所以,我试图访问一个类中函数中的两个函数modal_1()如下代码所示。控制台日志(“内部第一”)工作正常,但当我尝试进一步(例如,modal_1.show_modal_1();)时,它会给我以下错误消息: 情态动词类: const Modals = class { modal_1(){ console.log("inside 1st"); var hide_modal_1 = function () { console.log

所以,我试图访问一个类中函数中的两个函数modal_1()如下代码所示。控制台日志(“内部第一”)工作正常,但当我尝试进一步(例如,modal_1.show_modal_1();)时,它会给我以下错误消息:

情态动词类:

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"; 
        };
    }
};
let modals_List;
function setup() {
    modals_List = new Modals();
    modals_List.modal_1().show_modal_1();
}
我用它来称呼情态动词类:

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"; 
        };
    }
};
let modals_List;
function setup() {
    modals_List = new Modals();
    modals_List.modal_1().show_modal_1();
}

您没有在函数
modal_1
中显式返回某些内容,因此返回值将是
未定义的
。然后,您试图在
未定义的
上调用
show\u modal\u 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");
            }
        }
    }
};

您没有在函数
modal_1
中显式返回某些内容,因此返回值将是
未定义的
。然后,您试图在
未定义的
上调用
show\u modal\u 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");
            }
        }
    }
};

您的
show\u modal\u 1()
函数是
modal\u 1()
方法的局部变量,在该方法之外不可见。因此无法访问它?只有在
modal\u 1()
之外声明它,但在
Class Modals
之内,您的
show\u modal\u 1()
函数才是
modal\u 1()
方法的局部变量,在该方法之外不可见。因此无法访问它?仅在
modal_1()
外部声明,但在
类Modals内部声明