1
$.fn.uWorklet = function() {
  var worklet = this;
  var plugin = {
    pushContent: function(target, data) {
    . . .
    }
  }
  return plugin;
}

上記で、メソッド pushContent を自分のものに置き換えたいと思います。これは可能ですか?

4

2 に答える 2

1

プライベートスコープをいじりたいですか?これを行う方法はいくつかありますが、私からこれを学んだ人には言わないでください。

> var foo = function() { var x = 1; return x; };
undefined
> foo()
1
> foo = new Function(foo.toString().replace(/^function\s()[^{]+{|}$/gi, '') \
       .replace(/var x = 1/, 'var x = 2'))
function anonymous() {
  var x = 2; return x; 
}
> foo()
2

冗談はさておき、問題にはもっと良い解決策が必要です。これがコードの場合はモジュール化し、ライブラリの場合はコードをフォークして修正します。

于 2012-08-13T18:32:29.167 に答える
0

uWorkletメソッド全体を置き換えることはできませんか?コードがある場合は、それをコピーしてpushContentメソッドを置き換え、全体を置き換えることができます。

そうでなければ、少なくともこれまでに示したコードではできないと思います。オブジェクトを返すように見えるので、メソッドの使用方法の例を追加してuWorklet、そのオブジェクトのメソッドを置き換えることができるかもしれません....

于 2012-08-13T18:17:29.283 に答える