Javascript 如何扩展JS组件?
我有这个自定义组件Javascript 如何扩展JS组件?,javascript,jquery,Javascript,Jquery,我有这个自定义组件 (function ($) { $.fn.stuff = function (options) { var myStuff = this; myStuff.render_item = function () { // Do something return "default result"; }; myStuff.test = function ()
(function ($) {
$.fn.stuff = function (options) {
var myStuff = this;
myStuff.render_item = function () {
// Do something
return "default result";
};
myStuff.test = function () {
myStuff.render_item;
};
return myStuff;
};
}(jQuery));
我想“扩展”这个组件并重新声明“render_item”函数,而不直接编辑文件,因为它来自一个库
我怎样才能做到这一点?
谢谢。您可以像这样使用猴子补丁:
(function($) {
$.fn.old_stuff = $.fn.stuff;
$.fn.stuff = function(options) {
var myStuff = $(this).old_stuff(options);
myStuff.old_render_item = myStuff.render_item;
myStuff.render_item = function() {
// do something
myStuff.old_render_item();
// do something else
};
return myStuff;
};
}(jQuery));
一个典型的猴子补丁就可以了。无法访问创建函数的代码,因此必须在创建函数后替换它。