美文网首页
JS在生产环境屏蔽console.log的方法以及意义

JS在生产环境屏蔽console.log的方法以及意义

作者: 仰望天空的人 | 来源:发表于2022-11-11 10:21 被阅读0次

    console.log:向web开发控制台打印一条消息,常用来在开发时调试分析。有时在开发时,需要打印一些对象信息,但发布时却忘记去掉console.log语句,这可能造成内存泄露。

    在传递给console.log的对象是不能被垃圾回收 ♻️,因为在代码运行之后需要在开发工具能查看对象信息。所以最好不要在生产环境中console.log任何对象。

    直接执行以下全局函数即可:

    //判断配置文件是否开启日志调试 是否输出日志 True 输出 False 不输出
    var logDebug = false;
    console.log = (function (oriLogFunc) {
      return function () {
        if (logDebug) {
          oriLogFunc.apply(this, arguments);
        }
      }
    })(console.log);
    

    当然也可以重写console.log函数屏蔽掉其控制台打印操作。
    console.log打印的对象是不会被垃圾回收器回收的。因此最好不要在页面中console.log任何大对象,这样可能会影响页面的整体性能,特别在生产环境中。除了console.log外,另外还有console.dir、console.error、console.warn等都存在类似的问题,这些细节需要特别的关注。

    相关文章

      网友评论

          本文标题:JS在生产环境屏蔽console.log的方法以及意义

          本文链接:https://www.haomeiwen.com/subject/buvylrtx.html