console.log(a.b);console.log(c.d);var a = { b: 3};var c = { d: 8};书写顺序就是这样,正常情况下应该是打印两次undefind;但是,输出却是这样:undefinedUncaught TypeError: Cannot read property 'd' of undefined
1 回答
守着一只汪
TA贡献1872条经验 获得超3个赞
正常情况下应该是报一次错,
控制台打印在前,变量的声明在后
由于js的变量提升
机制,导致a
和c
并不会not defined
,而是会undefined
。
也就是说在打印时a、c两个栈内存空间内只是存放着undefined
,并不是一个对象,所以导致:
Cannot read property 'b' of undefine;
由于第一行报错,所以,第二行不会运行。
添加回答
举报
0/150
提交
取消