关于预解析机制问题

关于预解析机制问题

<script type="text/javascript">

console.log(name)

var name = "zhangs"

</script>

上述代码。按照预解析机制,先给name赋值undefined  然后执行控制台打印,可是为什么输出的是"zhangs"

正在回答

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

1回答

同学你好, 根据预解析机制, 先给name赋值undefined执行到var name = "zhangs"的时候name才有值。这样理解是没有问题的

1、 这段代码第一次打开页面的时候,控制台没有输出zhangs哦,示例:

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

打印结果

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

2、 只有再次刷新页面的时候, 才会打印出结果, 因为这个时候, 已经执行完了 var name = "zhangs"这句代码。 name是一个全局变量存储在内存中,所以此时可以打印出name的值。

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

这一块确实比较抽象, 不好理解, 同学可以自己下去再测试一下哦

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~


问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星

相似问题

登录后可查看更多问答,登录/注册

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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