九 作用域与闭包
Posted qfshini
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了九 作用域与闭包相关的知识,希望对你有一定的参考价值。
1. 什么是作用域?
| 作用域:就是变量使用的范围,也可以说是变量的使用环境
| --> 作用域内的变量只能往上找,无法往下找
| --> 函数被执行后,其函数内部的变量会从内存中删除,函数的每次调用都会创建一个新的作用域
| 注意:全局作用域只有一个
| let/const可以将变量声明在块作用域内
| --> 解决的var关键字所创建变量时,存在的作用域链全局污染问题
2. 什么是闭包?
| 通俗的说,就是能在其作用域外的环境中调用这个子元素,也可以说是延伸了作用域范围
| 如果没有闭包,那么在处理事件,异步请求时会变得很困难
| JS中所有函数都是闭包
| 闭包的问题:
| 内存泄漏:闭包特性中上级作用域会为函数保存数据,从而照成内存泄漏问题
| this指向:闭包环境下,this指向调用函数的对象本身,如果是在全局环境下调用的,this会指向Windows对象。
以上是关于九 作用域与闭包的主要内容,如果未能解决你的问题,请参考以下文章