首頁  >  問答  >  主體

javascript - 两个JS公有函数需要调用同一个函数,有什么方法?

我现在JS定义了一个类:


    var MyFunction = function (){
    };
    
    MyFunction.prototype = {
        doA:function(){
        },
        doB:function(){
        }
    }

现在doA和doB都需要访问一个函数someFun(),有没有方法能够让doA和doB都能访问someFun,但someFun对外部不可访问。

有没有这种用法的?谢谢来帮忙解疑。

天蓬老师天蓬老师2726 天前710

全部回覆(3)我來回復

  • 阿神

    阿神2017-04-11 11:00:01

    var MyFunction = function (){
        };
        
        MyFunction.prototype = {
            doA:function(){
                this.someFun();
            },
            doB:function(){
                this.someFun();
            },
            someFun:function(){
            }
        }
        //或者
        var test = new MyFunction();
        test.someFun=function(){...};

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-11 11:00:01

        var MyFunction = function (){
        };
    
        MyFunction.prototype = function(){
            function doA(){
            }
            function doB(){
            }
            function someFun(){
            }
            return {
                doA:doA,
                doB:doB
            }
        }();

    闭包,这个方式不优雅

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-11 11:00:01

    (function(){
        var someFun = function(){}
        var MyFunction = function (){
        };
        
        MyFunction.prototype = {
            doA:function(){
            someFun()
            },
            doB:function(){
            someFun()
            }
        }
    })()

    闭包解决

    回覆
    0
  • 取消回覆