码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2018-12-09 23:38:33      阅读:326      评论:0      收藏:0      [点我收藏+]

标签:浏览器   nod   func   定义变量   bsp   访问   imp   改变   src   

关于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下面的区别(除开作用域)

标签:浏览器   nod   func   定义变量   bsp   访问   imp   改变   src   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!