首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么js变量显示[ object ]但console.log()工作呢?

为什么js变量显示[ object ]但console.log()工作呢?
EN

Stack Overflow用户
提问于 2018-10-20 04:41:47
回答 3查看 779关注 0票数 0

我有一些密码

代码语言:javascript
复制
var weibo = { weibo: { url: '//testurl.com', icon: 'fa fa-weibo' } }
var mail = { mail: { url: '//testurl.com', icon: 'fa fa-envelope' } }
var github = { github: { url: '//testurl.com', icon: 'fa fa-github' } }

var [key] = Object.keys(weibo)
var name = weibo[key]
console.log(weibo[key])

我想从weibo中获取对象并将其存储到name变量中

但是名字显示[object object]

我不使用来自物体是什么意思?(JavaScript)物体是什么意思?(JavaScript)

key是一个字符串weibo

我只想将变量存储到名称中,为什么chrome dev tools会显示[object object]

console.log()工作,它显示相应的对象信息。

更新请参阅我的gif

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-10-20 09:49:47

这让我思考了一段时间,结果发现浏览器中定义了一个window.name全局变量(MDN:Window.name)。

根据MDN:,window.name将使用toString方法.将所有值转换为字符串表示形式。

toString应用于对象时,输出将是[object object]

因此,要么将代码块封装在自己的作用域中(可能在函数中),要么重命名name变量。

票数 3
EN

Stack Overflow用户

发布于 2018-10-20 04:51:39

使用

代码语言:javascript
复制
var key = Object.keys(weibo)
var name = key[0]
票数 1
EN

Stack Overflow用户

发布于 2018-10-20 05:09:36

这是因为你已经创建了“微博”作为一个对象,你把它传递给一个原始数据类型引用“名称”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52902504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档