问题描述

项目中,欲在控制台输出变量res(自定义对象)查看数据,代码为:

console.log('res:' + res);

但控制台显示结果为res: [object Object],并非想要查看的数据。

问题原因

  1. 加号的作用
    首先,我们的代码中有+(加号)运算符,它在这种情况下(字符串 + 其它什么东西),会调用toString()方法,将其它类型的东西转化为字符串,再和原始字符串拼接成一个字符串;

  2. toString()从哪里来,干了什么?
    以下摘自MDN:

除了null和undefined之外,其他的类型(数值、布尔、字符串、对象)都有toString()方法,它返回相应值的字符串表现(并不修改原变量)。
每个对象都有一个toString()方法。
当该对象被表示为一个文本值时,或者一个对象以预期的字符串方式引用时自动调用。
默认情况下,toString()方法被每个Object对象继承。如果此方法在自定义对象中未被覆盖,toString()返回 “[object type]”,其中type是对象的类型。

而在上述项目中,res正是我们自定义的对象,所以res.toString()的结果为[object Object],所以console.log(‘res:’ + res)的结果为res: [object Object]。

解决方法

去掉字符串‘res’,直接输出对象res
代码改写如下:

console.log(JSON.stringify(user))

Tips:一些补充

(1).toString()      // "1"[1,2].toString()    // "1, 2"({}).toString()     // [object Object]true.toString()     // "true"null.toString()     // Uncaught TypeError: Cannot read property 'toString' of nullundefined.toString()  // Uncaught TypeError: Cannot read property 'toString' of null

第3行,不能直接写成{}.toString()是因为:{}会被当成代码块而不是空对象

JS输出内容为[object Object]相关推荐

  1. JS输出内容的五种方式详解

    1.alert("要输出的内容"); ->在浏览器中弹出一个对话框,然后把要输出的内容展示出来 ->alert都是把要输出的内容首先转换为字符串然后在输出的 2.doc ...

  2. linux定时任务打印日志,Centos7(linux)使用crond服务定时执行js脚本并将脚本的输出内容记录日志文件的简单应用...

    - ## 在Centos7.8上使用crond服务定时执行js脚本并将脚本执行的输出记录日志 1. 安装wget 2. wget https://npm.taobao.org/mirrors/node ...

  3. JS数组”(array)和“对象”(object)

    比如有一个数组a=[1,2,3,4],还有一个对象a={0:1,1:2,2:3,3:4},然后你运行alert(a[1]),两种情况下的运行结果是相同的!这就是说,数据集合既可以用数组表示,也可以用对 ...

  4. uniapp 真机运行报错 cid unmatched [object Object] at view.umd.min.js:1

    H5端运行页面一切正常,真机调试报错 cid unmatched [object Object] at view.umd.min.js:1 TypeError: Cannot read propert ...

  5. java输出object object_js控制台显示[object Object]问题

    问题描述:在console.log中打印一个json对象时会显示[object Object] //清空控制台输出并将光标显示在第一排 console.clear(); //定义一个json格式的对象 ...

  6. cid unmatched [object Object] at view.umd.min.js:1 TypeError: Invalid attempt to destructure non-ite

    uni-app的报错提示: 15:49:36.687 cid unmatched [object Object] at view.umd.min.js:1 15:49:36.708 TypeError ...

  7. (vue)vue导出excel文件打不开,或者文件内容为object object

    (vue)vue导出excel文件打不开,或者文件内容为object object[已解决] bug: 主要原因:没有注意到后端返回的数据格式,需要的是res而不是res.data 正确写法: < ...

  8. js onclick传参对象_js中onClick([object object])的传参问题。跪求!

    你的位置: 问答吧 -> JavaScript -> 问题详情 js中onClick([object object])的传参问题.跪求! 问题是这样的,看代码 for(var i=0;i ...

  9. Vue错误日记 ——关于Vue-Router出现esm-bundler.js?6c02:2127 Uncaught TypeError: Object(...) is no的解决方案

    Vue错误日记 --关于Vue-Router无法正常使用的解决方案 前言 配置 项目环境 项目代码 问题处理 结束语 前言 今天用 Vue-cli 搭建 Vue 项目时,发现Router无法正常挂载, ...

  10. JS中的toString、Object.toString、Object.prototype.toString

    不同类型值的toString方法: //Number const num = 123; num.toString(); // '123' (123).toString(); // '123' 整数必须 ...

最新文章

  1. 程序员的自我修养--链接、装载与库笔记:系统调用与API
  2. 自动驾驶车辆何时实现?近期不会实现的五大原因
  3. ExtJs计算两个DateField所间隔的月份(天数) new Date(str) IE游览器提示NaN 处理...
  4. java 静态方法上的泛型
  5. 青蛙捉昆虫的html游戏,幼儿园小班体育游戏教案《小青蛙捉害虫》
  6. 小游戏“终结者”程序的设计与实现
  7. lol战绩查询接口_大聪明,3000元配置一台能畅玩LOL、CF、DNF的腾讯全家桶电脑,该怎么办?——12.10更新...
  8. 7-24 树种统计 (25 分)(详解)map做法 map真香啊!
  9. 数据分析-书籍整理(一)
  10. ajax实现浏览器前进后退-location.hash与模拟iframe
  11. Linux: 如何利用HandBrake将DVD光碟转成各式影片档
  12. 如何证明CPU的乱序执行(Out-of-order Execution)?
  13. jmeter脚本写个小demo(html论坛自动发帖、json龙果学院-前后端分离)
  14. java 游戏得分排行_以编程方式更改文本以统一显示游戏屏幕上的得分
  15. iOS进阶面试题----Block部分
  16. 项目服务器装系统,项目1服务器系统的安装.ppt
  17. MySQL删除重复数据
  18. hp微型计算机网线怎么安装,惠普M1130网络打印机怎么安装设置?
  19. Miracle密码算法开源库(四)分析 :mrarth2.c
  20. qq音乐网络异常获取音乐失败_QQ音乐怎么诊断网络异常

热门文章

  1. 在ubuntu上搭建开发环境1---在windows7的基础上在安装ubuntu(双系统)
  2. AjaxPro怎么传对象参数
  3. 如何用SQL语句查询Excel数据?
  4. 【IDEA】IDEA中部署的项目添加Tomcat自带的一些项目
  5. 在win7物理机,使用vmware,3台centos7系统,分别部署httpd,php-fpm,mariadb
  6. iOS:选择器控件UIPickerView的详解和演示
  7. visual studio 2013连接Oracle 11g并获取数据:(一:环境搭建)
  8. ActionFilterAttribute
  9. USACO Section 1.2 Name That Number
  10. WSUS 3.0 SP2 部署安装