JS输出内容为[object Object]
问题描述
项目中,欲在控制台输出变量res(自定义对象)查看数据,代码为:
console.log('res:' + res);
但控制台显示结果为res: [object Object],并非想要查看的数据。
问题原因
加号的作用
首先,我们的代码中有+(加号)运算符,它在这种情况下(字符串 + 其它什么东西),会调用toString()方法,将其它类型的东西转化为字符串,再和原始字符串拼接成一个字符串;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]相关推荐
- JS输出内容的五种方式详解
1.alert("要输出的内容"); ->在浏览器中弹出一个对话框,然后把要输出的内容展示出来 ->alert都是把要输出的内容首先转换为字符串然后在输出的 2.doc ...
- linux定时任务打印日志,Centos7(linux)使用crond服务定时执行js脚本并将脚本的输出内容记录日志文件的简单应用...
- ## 在Centos7.8上使用crond服务定时执行js脚本并将脚本执行的输出记录日志 1. 安装wget 2. wget https://npm.taobao.org/mirrors/node ...
- JS数组”(array)和“对象”(object)
比如有一个数组a=[1,2,3,4],还有一个对象a={0:1,1:2,2:3,3:4},然后你运行alert(a[1]),两种情况下的运行结果是相同的!这就是说,数据集合既可以用数组表示,也可以用对 ...
- 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 ...
- java输出object object_js控制台显示[object Object]问题
问题描述:在console.log中打印一个json对象时会显示[object Object] //清空控制台输出并将光标显示在第一排 console.clear(); //定义一个json格式的对象 ...
- 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 ...
- (vue)vue导出excel文件打不开,或者文件内容为object object
(vue)vue导出excel文件打不开,或者文件内容为object object[已解决] bug: 主要原因:没有注意到后端返回的数据格式,需要的是res而不是res.data 正确写法: < ...
- js onclick传参对象_js中onClick([object object])的传参问题。跪求!
你的位置: 问答吧 -> JavaScript -> 问题详情 js中onClick([object object])的传参问题.跪求! 问题是这样的,看代码 for(var i=0;i ...
- Vue错误日记 ——关于Vue-Router出现esm-bundler.js?6c02:2127 Uncaught TypeError: Object(...) is no的解决方案
Vue错误日记 --关于Vue-Router无法正常使用的解决方案 前言 配置 项目环境 项目代码 问题处理 结束语 前言 今天用 Vue-cli 搭建 Vue 项目时,发现Router无法正常挂载, ...
- JS中的toString、Object.toString、Object.prototype.toString
不同类型值的toString方法: //Number const num = 123; num.toString(); // '123' (123).toString(); // '123' 整数必须 ...
最新文章
- 程序员的自我修养--链接、装载与库笔记:系统调用与API
- 自动驾驶车辆何时实现?近期不会实现的五大原因
- ExtJs计算两个DateField所间隔的月份(天数) new Date(str) IE游览器提示NaN 处理...
- java 静态方法上的泛型
- 青蛙捉昆虫的html游戏,幼儿园小班体育游戏教案《小青蛙捉害虫》
- 小游戏“终结者”程序的设计与实现
- lol战绩查询接口_大聪明,3000元配置一台能畅玩LOL、CF、DNF的腾讯全家桶电脑,该怎么办?——12.10更新...
- 7-24 树种统计 (25 分)(详解)map做法 map真香啊!
- 数据分析-书籍整理(一)
- ajax实现浏览器前进后退-location.hash与模拟iframe
- Linux: 如何利用HandBrake将DVD光碟转成各式影片档
- 如何证明CPU的乱序执行(Out-of-order Execution)?
- jmeter脚本写个小demo(html论坛自动发帖、json龙果学院-前后端分离)
- java 游戏得分排行_以编程方式更改文本以统一显示游戏屏幕上的得分
- iOS进阶面试题----Block部分
- 项目服务器装系统,项目1服务器系统的安装.ppt
- MySQL删除重复数据
- hp微型计算机网线怎么安装,惠普M1130网络打印机怎么安装设置?
- Miracle密码算法开源库(四)分析 :mrarth2.c
- qq音乐网络异常获取音乐失败_QQ音乐怎么诊断网络异常
热门文章
- 在ubuntu上搭建开发环境1---在windows7的基础上在安装ubuntu(双系统)
- AjaxPro怎么传对象参数
- 如何用SQL语句查询Excel数据?
- 【IDEA】IDEA中部署的项目添加Tomcat自带的一些项目
- 在win7物理机,使用vmware,3台centos7系统,分别部署httpd,php-fpm,mariadb
- iOS:选择器控件UIPickerView的详解和演示
- visual studio 2013连接Oracle 11g并获取数据:(一:环境搭建)
- ActionFilterAttribute
- USACO Section 1.2 Name That Number
- WSUS 3.0 SP2 部署安装