Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript:类方法访问深度函数_Javascript - Fatal编程技术网

javascript:类方法访问深度函数

javascript:类方法访问深度函数,javascript,Javascript,是否可以从MyObjGraph实例访问方法/函数m1? 提前感谢您的回答 class MyObjGraph { constructor(id) { this.drawGraph(id); } drawGraph(id) { var inId = id; function m1() { alert(inId); } } } 不,因为它被视为局

是否可以从MyObjGraph实例访问方法/函数m1? 提前感谢您的回答

class MyObjGraph 
{
    constructor(id) 
    {
        this.drawGraph(id);
    }
    drawGraph(id)
    {
        var inId = id;
        function m1()
        {
            alert(inId);
        }
    }
}

不,因为它被视为局部函数,所以范围不会超出drawGraph方法。只有drawGraph方法才能访问它

如果您可以稍微修改代码,就可以将内部方法公开给“外部”:

class-MyObjGraph{
建造师(id){
本图为绘制图(id);
}
绘图(id){
var-inId=id;
函数m1(){
警报(inId);
}

return{//No。在本例中,m1仅对drawGraph内的作用域可用。如果您需要类中任何位置可用的函数,请在与drawGraph相同的类中定义它。为什么不试试看?(扰流板:答案是“否”。)不,它是一个独立的函数(不是
MyObjGraph
class的方法)已知的范围是MyObjGraph.drawGraph()
可能重复的