【Vue】console.log()打印对象显示点点点,js打印语句显示省略号 | 解决方案

问题描述

提示:这里简述项目相关背景:

在console.log打印对象或者数组时,里面会显示小数点

在这里插入图片描述


解决方案:

其实用深拷贝,JSON.parse(JSON.stringify())可以解决,但是每次都在log语句里面写这个json转换,太麻烦了

我这里直接改写原来js的log语句方法

由于console.log()打印dom节点会报错
做了判断

(function() {
   
  // 保存原生的console.log引用
  const originalConsoleLog = console.log;

  // 覆盖console.log实现
  console.log = function (...args) {
   
    const modifiedArgs = args.map(arg => {
   
      if (arg instanceof Element) {
   
        return arg;  // 直接返回 DOM 节点对象
      } else if (typeof arg === 'object' && (Array.isArray(arg) || arg instanceof Object)) {
   
        return JSON.parse(JSON.stringify(arg));  // 使用深拷贝
      } else {
   
        return arg;
      }
    });

    // 调用原生console.log
    originalConsoleLog.apply(console, modifiedArgs);
  };
})();

在utils中创建一个log.js,复制上面的代码粘贴进去

import '@/utils/log'

在main.js中引入

看测试效果

这里用一个dom节点来看,会不会因为json深拷贝报错。

这里是引用

在这里插入图片描述

这里只有dom做了判断,如果打印的变量【包含不可序列化的对象】。就会报错,例如【函数或 Symbol】

const obj = {
    func: () => {
   } }; // 报错


const obj = {
   };
obj.circularReference = obj;// 报错

最近更新

  1. TCP协议是安全的吗?

    2023-12-19 09:40:03       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-19 09:40:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-19 09:40:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-19 09:40:03       20 阅读

热门阅读

  1. HBase查询的一些限制与解决方案

    2023-12-19 09:40:03       38 阅读
  2. android ——动画

    2023-12-19 09:40:03       41 阅读
  3. Python基础学习文档(2)

    2023-12-19 09:40:03       33 阅读
  4. NBIOT BC28驱动程序

    2023-12-19 09:40:03       27 阅读
  5. tortoisesvn各版本下载链接

    2023-12-19 09:40:03       51 阅读
  6. tensorflow入门 自定义层

    2023-12-19 09:40:03       40 阅读
  7. 传统服务器和云服务器的区别?

    2023-12-19 09:40:03       38 阅读
  8. Python装饰器

    2023-12-19 09:40:03       41 阅读
  9. Rabbitmq 死信取消超时订单

    2023-12-19 09:40:03       43 阅读