1

次のメソッドがあります。pete()が呼び出されたかどうかをテストできるように、何かをモックアップできるようにしたいと思います。クロージャを使用しているときにこれを行う方法がわかりません。何か案は ?

bla = (function(){
     var a = 0;
     jim = function(){
         if(a==1){
             pete();
         }
     },
     pete = function(){
         return 1;
     }

     var publicInterface = {
         "publicjim": jim
     }
     return publicInterface;
})();
4

1 に答える 1

3

自己実行型の無名関数では、オブジェクトプロパティを使用しています。

jimpeteクロージャを介してそれらを「非表示」にするには、ローカル変数である必要があります。

var bla = (function(){
    var a = 1;
    var jim = function() {
      if (a == 1) {
         pete();
      }
    };
    var pete = function() {
        return 1;
    };

    return {
       "publicjim": jim
    };  
})();
于 2011-01-19T13:01:43.500 に答える