美文网首页
简谈"闭包"和"作用域"

简谈"闭包"和"作用域"

作者: 昱蓉呀 | 来源:发表于2019-02-13 23:03 被阅读0次

闭包是指有权访问另一个函数作用域中变量的函数,创建闭包最常见的方式就是一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量,利用闭包可以突破作用域链,将函数内部的变量和方法传递到外部。

闭包的特性:

      1.函数内嵌套函数

      2.内部函数可以引用外层的参数和变量

      3.参数和变量不会被垃圾回收机制回收

作用域链 : 首先在js中有作用域的概念,指的是一个变量的活动范围,分为全局作用域和局部作用域,全局作用域指的是window,局部作用域指的是每一个函数内部,在作用域中查找一个变量首先在自己当前作用域内查找找不到向上级查找,逐层向上找到window为止,找不到会抛出一个undefined错误,这个查找的过程就是作用域。作用域链需要注意的问题是变量提升,当一个变量在定义之前使用就会得到一个undefined值,在es6则不会出现这个问题,es6不允许在定义之前使用。

相关文章

  • 作用域和闭包

    目录 概述 作用域编译过程词法作用域全局作用域函数作用域 闭包循环和闭包闭包的用途性能 总结 概述 作用域和闭包一...

  • 简谈"闭包"和"作用域"

    闭包是指有权访问另一个函数作用域中变量的函数,创建闭包最常见的方式就是一个函数内创建另一个函数,通过另一个函数访问...

  • javaScript门道之闭包

    闭包的学习路径:变量的作用域 -> 闭包的概念 ->闭包的应用 1.变量的作用域 变量的作用域分为作用于全局和作用...

  • 2023-01-12

    变量提升调用栈块级作用域作用域链和闭包 闭包 => 作用域链(词法作用域) => 调用栈(栈溢出) => 上下文...

  • 闭包(closure)

    ● 闭包基础 ● 闭包作用 ● 闭包经典例子 ● 闭包应用 ● 闭包缺点 ● 参考资料 1、闭包基础 作用域和作...

  • 2018-01-07 关于javascript闭包和作用域的理解

    关于 javascript 闭包的一些思考 作用域 词法作用域 函数作用域 块作用域 闭包 什么是作用域? 作用域...

  • js作用域、闭包

    闭包 闭包作用 全局 局部 作用域链

  • 浓缩解读《JavaScript设计模式与开发实践》③

    三、闭包和高阶函数 3.1 闭包 3.1.1 变量的作用域 所谓变量的作用域,就是变量的有效范围。通过作用域的划分...

  • js闭包的理解

    什么是闭包 通俗的来讲,个人觉得闭包就是延长变量作用域的函数。众所周知js的作用域分为全局作用域和链式作用域。在函...

  • 14.JS基础之作用域与闭包

    作用域: 全局作用域 函数作用域 块级作用域(ES6新增) 常见的闭包有:作为函数返回值的闭包与作为函数参数的闭包...

网友评论

      本文标题:简谈"闭包"和"作用域"

      本文链接:https://www.haomeiwen.com/subject/rcgjeqtx.html