3-12 为什么这么写不对~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>变量、作用域</title>
</head>
<body>
<script type="text/javascript">
var a = {name: 'xm'}, b = [4];
/*此处添加代码*/
b=[a,b];
b=b[0];
a=b[1];
console.log(a,b);
</script>
</body>
</html>
23
收起
正在回答 回答被采纳积分+1
2回答
卡布琦诺
2018-06-26 14:17:31
(1)这是因为当执行b=[a,b];的时候,b=[a,b];重置b = [4];变成b=[a,b](也就是b = [{name:'xm'},[4]];)
(2)执行b=b[0];的时候,b[0]中的b使用的是b=[a,b],因此可以获取到b数组的第一个元素
(3)执行a=b[1];的时候,b=[a,b]数组被重置为b=b[0]数组,即这个时候的b[1]中的b指的是b=b[0]=[{name:'xm'}];在b=b[0]=[{name:'xm'}];中只有一个数组元,因此角标是[0],由于没有第二项数组元素,所以a=b[1];获取不到数组元素。
希望可以帮到你~
进击JavaScript核心 2018
- 参与学习 466 人
- 提交作业 74 份
- 解答问题 635 个
JavaScript不仅能实现静态页面到动态特效的转变,还能完成数据的动态交互,但是关于js到底功能有多强大,大家还是有所期待的,本路径将带你深入到js中,一一揭开JavaScript的神秘面纱。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星