gpt4 book ai didi

javascript - 动态启用/禁用调试代码

转载 作者:行者123 更新时间:2023-11-28 20:20:33 25 4
gpt4 key购买 nike

我正在编写一个大小合适的 JavaScript 动画库,我想在其中包含调试代码。我可以轻松地进行检查:

if(myLib.debugger){
console.warn('warning message');
}

但是,如果每秒运行几千次,最终会导致性能问题。在整个代码中添加更多检查,效果会更加明显。

我想知道是否可以检查 onload 是否应该启用调试器,如果是的话......请像这样:

//debugger if(!this.name) console.warn('No name provided');

进入:

if(!this.name) console.warn('No name provided');

如果未启用,则对代码进行注释;如果已启用,则取消注释,从而消除任何可能的性能问题。如果通过 ajax 加载,是否可以在整个脚本上使用正则表达式来完成此操作?我试图避免需要相同代码的两个版本:lib.dbug.js 和 lib.js。

跨浏览器兼容性对此并不重要(我真的只担心新浏览器),我认为拥有该项目很好。然而,如果可能的话,那将是一件很棒的事情。

任何见解将不胜感激。

最佳答案

执行此操作的最简单方法是检查是否应禁用调试器,如果是,请将其替换为在脚本开头不执行任何操作的模拟对象:

if (!myLib.debugger) {
window.console = (function () {
var newConsole = {};
var key;

for (key in window.console) {
if (typeof window.console[key] === 'function') {
newConsole[key] = function () {};
}
}

return newConsole;
}());
}

这种方法的开销应该可以忽略不计。

关于javascript - 动态启用/禁用调试代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18406311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com