Javascript 替换window.setTimeout

Javascript 替换window.setTimeout,javascript,Javascript,伙计们, 我正在考虑用我自己的函数替换window.setTimeout(例如,我们可以为回调中抛出的异常提供一个通用错误处理程序) 代码将遵循以下内容: var nativeSetTimeout = window.setTimeout; window.setTimeout = function(fn, interval){ nativeSetTimeout(function(){ try{ fn(); }ca

伙计们, 我正在考虑用我自己的函数替换window.setTimeout(例如,我们可以为回调中抛出的异常提供一个通用错误处理程序)

代码将遵循以下内容:

var nativeSetTimeout = window.setTimeout;
window.setTimeout = function(fn, interval){
    nativeSetTimeout(function(){
            try{
               fn();
            }catch(e){
                // handle errors coming from the execution of fn
            }
        }, interval);
}

考虑到我的应用程序将停留在单个iframe中,是否有任何悬而未决的问题需要我关注?

我不会这样做,因为它确实可以帮助您自己开发,但替换标准函数可能会破坏第三方库


基本上,使用您自己的功能而不替换标准功能应该是一种方式。在代码中使用它。

我不会这样做,因为它确实可以帮助您自己的开发,但替换标准函数可能会破坏第三方库


基本上,使用您自己的功能而不替换标准功能应该是一种方式。在您的代码中使用它。

您可以这样做,但除非您有意拦截现有代码或第三方库的行为,否则只需编写一个具有替代名称的包装器就可以了,例如
函数setSafeTimeout(fn,timeout){…;return setTimeout(fn,timeout);}

您可以这样做,但除非您有意拦截现有代码或第三方库的行为,否则更清楚的做法是只编写一个具有替代名称的包装器,例如
函数setSafeTimeout(fn,timeout){…;return setTimeout(fn,timeout);}

只需添加您自己的函数,即可设置超时和回调或任何您需要的功能。您需要一个内部函数来调用fn,并在该函数上设置超时,而不是在参数中设置超时。只需添加您自己的函数,使setTimeout和calll返回或任何您需要的内容。您需要一个内部函数来调用fn并在该函数(而不是参数中的函数)上设置超时,而不是像您的示例中那样覆盖它。