javascript - 两个JS公有函数需要调用同一个函数,有什么方法?
天蓬老师
天蓬老师 2017-04-11 10:58:01
0
3
737

我现在JS定义了一个类:


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

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

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

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全員に返信(3)
阿神
var MyFunction = function (){
    };
    
    MyFunction.prototype = {
        doA:function(){
            this.someFun();
        },
        doB:function(){
            this.someFun();
        },
        someFun:function(){
        }
    }
    //或者
    var test = new MyFunction();
    test.someFun=function(){...};
いいねを押す +0
Ty80
    var MyFunction = function (){
    };

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

闭包,这个方式不优雅

いいねを押す +0
大家讲道理
(function(){
    var someFun = function(){}
    var MyFunction = function (){
    };
    
    MyFunction.prototype = {
        doA:function(){
        someFun()
        },
        doB:function(){
        someFun()
        }
    }
})()

闭包解决

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート