关于预解析机制问题
<script type="text/javascript">
console.log(name)
var name = "zhangs"
</script>
上述代码。按照预解析机制,先给name赋值undefined 然后执行控制台打印,可是为什么输出的是"zhangs"
5
收起
正在回答
1回答
同学你好, 根据预解析机制, 先给name赋值undefined执行到var name = "zhangs"的时候name才有值。这样理解是没有问题的
1、 这段代码第一次打开页面的时候,控制台没有输出zhangs哦,示例:
打印结果
2、 只有再次刷新页面的时候, 才会打印出结果, 因为这个时候, 已经执行完了 var name = "zhangs"这句代码。 name是一个全局变量存储在内存中,所以此时可以打印出name的值。
这一块确实比较抽象, 不好理解, 同学可以自己下去再测试一下哦
如果帮助到了你, 欢迎采纳!
祝学习愉快~~~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星