为了账号安全,请及时绑定邮箱和手机立即绑定

结果和课程里面讲的不一样

var obj6 = {x:1};

obj6.y = 2;

if(obj6.y){

obj6.y.z = 3;

var yz = obj6.y.z;

document.write(yz+"</br>");

}


结果是undefined,不是应该是3吗?

正在回答

2 回答

因为obj6.y=2,你已经将y变成了一个值属性,obj6.y.z=3不会将y变成一个对象,因此结果是undefined 是正常的。下确的做法是:

var obj={x:1}

obj.y={z:3}

Object {z: 3}

obj.y.z

3


1 回复 有任何疑惑可以回复我~
#1

qq_巧克力人生 提问者

Object {z: 3} 提示语法错误
2016-12-24 回复 有任何疑惑可以回复我~
#2

qq_巧克力人生 提问者

又想obj.y = 2.同时,obj.y.z =3 ,怎么做?
2016-12-24 回复 有任何疑惑可以回复我~
#3

建聪0 回复 qq_巧克力人生 提问者

obj.y是一个对象,才会有obj.y.z
2016-12-28 回复 有任何疑惑可以回复我~

obj.y必须是对象而不是一个值,  obj.y={};obj.y.z=3;console.log(obj.y.z)

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

结果和课程里面讲的不一样

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信