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

js执行报错问题

js执行报错问题

杨__羊羊 2018-12-20 18:15:39
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的变量提升机制,导致ac并不会not defined,而是会undefined

也就是说在打印时a、c两个栈内存空间内只是存放着undefined,并不是一个对象,所以导致:

Cannot read property 'b' of undefine;

由于第一行报错,所以,第二行不会运行。


查看完整回答
反对 回复 2019-01-21
  • 1 回答
  • 0 关注
  • 457 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信