我正在尝试覆盖JavaScript中的内置parseFloat
函数。
我该怎么做呢?
发布于 2011-03-24 01:50:06
var origParseFloat = parseFloat;
parseFloat = function(str) {
alert("And I'm in your floats!");
return origParseFloat(str);
}
发布于 2011-03-24 01:50:24
您可以通过重新声明任何内置函数来覆盖它。
parseFloat = function(a){
alert(a)
};
现在parseFloat(3)
将发出警报3。
发布于 2018-04-17 00:23:30
您可以覆盖它,或者最好是扩展,它的实现如下所示
parseFloat = (function(_super) {
return function() {
// Extend it to log the value for example that is passed
console.log(arguments[0]);
// Or override it by always subtracting 1 for example
arguments[0] = arguments[0] - 1;
return _super.apply(this, arguments);
};
})(parseFloat);
就像你通常所说的那样:
var result = parseFloat(1.345); // It should log the value 1.345 but get the value 0.345
https://stackoverflow.com/questions/5409428
复制相似问题