$.fn.uWorklet = function() {
var worklet = this;
var plugin = {
pushContent: function(target, data) {
. . .
}
}
return plugin;
}
在上面,我想用自己的方法替换方法pushContent。这可能吗,如果可以,怎么做?
答案 0 :(得分: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
开玩笑说,必须有一个更好的解决方案来解决你的问题:如果这是你的代码,那么使它更模块化,如果它是一个库,那么分叉代码&解决它。
答案 1 :(得分:0)
您不能只替换整个uWorklet
方法吗?如果你有代码,你可以复制它,替换pushContent
方法并替换整个代码。
否则,我认为你不能,至少不是你到目前为止所展示的代码。也许添加一些如何使用uWorklet
方法的例子,因为它看起来像是返回一个对象,也许你可以替换该对象中的方法....