首页 > Windows开发 > 详细

聊聊var与let 在window下面的区别(除开作用域)

时间:2018-12-09 23:20:48      阅读:274      评论:0      收藏:0      [点我收藏+]

关于let在window下面访问时无法获取到的原因:

  先看代码:

 

var age = 29;
let ages = 29;
alert(window.age)
alert(window.ages )

技术分享图片技术分享图片

  由此可以看的出来,为什么同为window下面的全局变量;

    var定义的变量可以获取到 而let不可以?

那么问题来了其他定义变量的方法如:es6的let、const、import、class再加上ES5的var、function 一起6种声明变量的方式

 有什么规律呢?共同点呢?

进入正题:我们来了解下吧

 首先我们需要了解浏览器环境中顶层对象是window,Node中是global对象

 (重点了)es5中顶层变量的属性等价于全局变量,

  到了es6中有所改变,es5的var function 声明的全局变量 依旧是顶级对象的属性 而es6声明的全局变量不属于顶级对象的属性了

 

聊聊var与let 在window下面的区别(除开作用域)

原文:https://www.cnblogs.com/xweizi/p/10093967.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!