首页 > Web开发 > 详细

JS:作用域小结

时间:2019-12-20 17:48:14      阅读:85      评论:0      收藏:0      [点我收藏+]

什么是作用域?可访问变量,对象,函数的集合。

具体化:分为全局作用域跟函数作用域

技术分享图片

1、所有的全局作用域都是互通的

2、var声明的变量会挂载到window的属性里面,而let、const则不会

3、函数都有自己独立的作用域,外部不能访问,外层函数嵌套内层函数,作用域是包含关系

作用域的规则:

1、搜索规则:子函数(本地) > 父函数(封闭) >全局 从里到外 一层层的来读取

2、作用域,只看声明环境,不看执行环境

let块作用域与var作用域的区别:

技术分享图片

可以看出:

1、var 声明的变量是按照 执行完for循环,此时i为10 => 定时器按照for循环次数执行,依次打印此时i的值

2、let 声明的变量则是按照执行一次for循环,立即执行定时器,依次打印出0-9

3、for循环外,可以打印出i此时的值10

4、for 循环外,打印j的值会报错

原因:

   let在每次赋值的时候,开创了块作用域,而外部是无法访问块作用域下的变量的,作用域的规则是从里访问到外

闭包详见:https://www.cnblogs.com/hxw1024/p/12070523.html

JS:作用域小结

原文:https://www.cnblogs.com/hxw1024/p/12074362.html

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