首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何重写JavaScript函数

如何重写JavaScript函数
EN

Stack Overflow用户
提问于 2011-03-24 01:45:22
回答 5查看 223.8K关注 0票数 127

我正在尝试覆盖JavaScript中的内置parseFloat函数。

我该怎么做呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-03-24 01:50:06

代码语言:javascript
复制
var origParseFloat = parseFloat;
parseFloat = function(str) {
     alert("And I'm in your floats!");
     return origParseFloat(str);
}
票数 250
EN

Stack Overflow用户

发布于 2011-03-24 01:50:24

您可以通过重新声明任何内置函数来覆盖它。

代码语言:javascript
复制
parseFloat = function(a){
  alert(a)
};

现在parseFloat(3)将发出警报3。

票数 46
EN

Stack Overflow用户

发布于 2018-04-17 00:23:30

您可以覆盖它,或者最好是扩展,它的实现如下所示

代码语言:javascript
复制
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);

就像你通常所说的那样:

代码语言:javascript
复制
var result = parseFloat(1.345); // It should log the value 1.345 but get the value 0.345
票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5409428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档