码迷,mamicode.com
首页 > 其他好文 > 详细

九、 作用域与闭包

时间:2020-03-08 21:56:07      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:延伸   范围   调用   使用   存在   事件   pre   window   全局   

1. 什么是作用域?
    | 作用域:就是变量使用的范围,也可以说是变量的使用环境
        | --> 作用域内的变量只能往上找,无法往下找
        | --> 函数被执行后,其函数内部的变量会从内存中删除,函数的每次调用都会创建一个新的作用域
        | 注意:全局作用域只有一个

    | let/const可以将变量声明在块作用域内
        | --> 解决的var关键字所创建变量时,存在的作用域链全局污染问题

2. 什么是闭包?
    | 通俗的说,就是能在其作用域外的环境中调用这个子元素,也可以说是延伸了作用域范围
    | 如果没有闭包,那么在处理事件,异步请求时会变得很困难
        | JS中所有函数都是闭包

    | 闭包的问题:
        | 内存泄漏:闭包特性中上级作用域会为函数保存数据,从而照成内存泄漏问题
        | this指向:闭包环境下,this指向调用函数的对象本身,如果是在全局环境下调用的,this会指向Windows对象。

九、 作用域与闭包

标签:延伸   范围   调用   使用   存在   事件   pre   window   全局   

原文地址:https://www.cnblogs.com/qfshini/p/12445028.html

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