如何将JavaScript原型方法重写到我的普通JavaScript文件中?
我在JavaScript文件中有一个方法是用prototype编写的:如何将JavaScript原型方法重写到我的普通JavaScript文件中?,javascript,prototypejs,Javascript,Prototypejs,我在JavaScript文件中有一个方法是用prototype编写的: SMRangePickerCtrl.prototype.rangeSelected = function (range) { var self = this; self.onRangeSelect({range: range}); self.value = { startDate: range.startDateAsMoment, endDate: range.endDateAsMome
SMRangePickerCtrl.prototype.rangeSelected = function (range) {
var self = this;
self.onRangeSelect({range: range});
self.value = { startDate: range.startDateAsMoment, endDate: range.endDateAsMoment, __$toString: range.text };
};
现在,我想在单独的JavaScript文件中继承这个方法
我怎么做 像这样的
var myMethod = SMRangePickerCtrl.prototype.rangeSelected;
myMethod(range);
如果需要将此方法添加到其他对象,请使用以下方法:
myObj.rangeSelected = SMRangePickerCtrl.prototype.rangeSelected.bind(myObj);
或者,如果您有一个SMRangePickerCtrl
类的实例,请说myAnotherObj
,并希望覆盖此方法,请使用:
myAnotherObj.rangeSelected = function(range) {
...
}
或者,如果要替换SMRangePickerCtrl
的所有实例的方法,只需使用:
SMRangePickerCtrl.prototype.rangeSelected = function (range) {
// My implementation here
};
“继承”是什么意思?我的意思是将方法重写到我的自定义代码库中。为什么不在原始代码中更改它?您正在导入的是库吗?如果是,你是如何使用它的?调用的方法在哪里?是的,它是一个库,我想扩展功能。正如我所说的,只需编辑库源代码。如果这不是一个选项,请提供更多详细信息。图书馆是如何使用的?实例在何处/如何创建?此方法在何处/如何调用?您是否也需要具有原始行为的实例?你想添加什么自定义功能?不,绝对不是。这是一个需要在实例上调用的方法。Amit,我在回答中添加了一些建议。