数组和对象可以直接自动转换么,为什么我用了这个图示方法只能显示数字,不能显示对象

数组和对象可以直接自动转换么,为什么我用了这个图示方法只能显示数字,不能显示对象

<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8">

<title>变量、作用域</title>

</head>

<body>

<script type="text/javascript">

    var a = {name: 'xm'}, b = [4];

b[1] = a;

a = b[0];

b = b[1];

console.log(a,b);

</script>

</body>

</html>


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你好同学,老师使用你的代码测试是可以的,建议同学把问题中的代码粘贴到本地使用谷歌浏览器再测试一下,如下为测试结果 ,点击Object前面的三角就能展开里面的内容。

http://img1.sycdn.imooc.com//climg/5cf7a2c500010cf805170158.jpg

同学可以刷新下页面,就可以显示如下的形式。(代码没有问题,这个是控制台自己解析的特点它就是这样显示的)

http://img1.sycdn.imooc.com//climg/5cf7a30e0001030d02370043.jpg

祝学习愉快 ,望采纳。

  • 慕码人9542252 提问者 #1
    我知道了,我用的输出方式是document.write();,所以显示的不一样,用了console.log就跟你一样了。谢谢了。
    2019-06-05 19:15:13
好帮手慕夭夭 2019-06-05 10:20:59

你好同学,不太理解同学说的自动转换指的什么。在代码中,把a放在了数组b索引为1的位置,后面把b重新赋值为数组索引为的1的元素,所以b输出是一个对象是正常的。而a输出之所以是一个数字, 是因为把数组b索引为0的元素赋值给了a,数组第一个元素本身就是一个数字4哦.

如果同学想要输出数组[4],可以如下调整:

http://img1.sycdn.imooc.com//climg/5cf727060001fc6605250280.jpg

祝学习愉快 ,望采纳。

  • 提问者 慕码人9542252 #1
    按照我的代码输出后的结果是 4 object object.其中b没有显示name和'xm',而是显示两个object,这是为什么呢?
    2019-06-05 14:17:07
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师