标签:延伸 范围 调用 使用 存在 事件 pre window 全局
1. 什么是作用域?
| 作用域:就是变量使用的范围,也可以说是变量的使用环境
| --> 作用域内的变量只能往上找,无法往下找
| --> 函数被执行后,其函数内部的变量会从内存中删除,函数的每次调用都会创建一个新的作用域
| 注意:全局作用域只有一个
| let/const可以将变量声明在块作用域内
| --> 解决的var关键字所创建变量时,存在的作用域链全局污染问题
2. 什么是闭包?
| 通俗的说,就是能在其作用域外的环境中调用这个子元素,也可以说是延伸了作用域范围
| 如果没有闭包,那么在处理事件,异步请求时会变得很困难
| JS中所有函数都是闭包
| 闭包的问题:
| 内存泄漏:闭包特性中上级作用域会为函数保存数据,从而照成内存泄漏问题
| this指向:闭包环境下,this指向调用函数的对象本身,如果是在全局环境下调用的,this会指向Windows对象。
标签:延伸 范围 调用 使用 存在 事件 pre window 全局
原文地址:https://www.cnblogs.com/qfshini/p/12445028.html