7、闭包与作用域链

简介: 7、闭包与作用域链

1、闭包


闭包 含义
闭包函数 声明在一个函数中的函数,叫做闭包函数
闭包 内部函数可以访问其所在的外部函数中声明的参数和变量
闭包的特性 内部函数未被执行完,外部函数即使执行完成,外部函数中的变量也不会被销毁


    // 1、闭包函数:声明在一个函数中的函数,叫做闭包函数
    // 闭包:内部函数可以访问其所在的外部函数中声明的参数和变量
    // 闭包的特性:内部函数未被执行完,外部函数即使执行完成,外部函数中的变量也不会被销毁
    function fun() {
      let m = 20;
      let n = 10;
      function fun1() {
        return m + n;
      }
      return fun1();
    }
    var result = fun();
    console.log(result);

2、作用域


  • 在当前作用链来找变量,没有时往上找,直到找到全局作用域,再没有就报错
    // 2、作用域链:在当前作用链来找变量,没有时往上找,直到找到全局作用域,再没有就报错
    var str = 'Hello';
    function fun4() {
      let str = 'world';
      console.log(str);
      function fun5() {
        console.log(str);
      }
      fun5();   // 输出结果:world
    }
    fun4();   // 输出结果:world
    console.log(str);   // 输出结果:Hello


相关文章
|
1月前
|
JavaScript 前端开发
作用域链的理解
作用域链的理解
39 0
|
1月前
|
自然语言处理 JavaScript 前端开发
深入理解作用域、作用域链和闭包
在 JavaScript 中,作用域是指变量在代码中可访问的范围。理解 JavaScript 的作用域和作用域链对于编写高质量的代码至关重要。本文将详细介绍 JavaScript 中的词法作用域、作用域链和闭包的概念,并探讨它们在实际开发中的应用场景。
|
1月前
|
自然语言处理 JavaScript 前端开发
对作用域链的理解
对作用域链的理解
35 0
|
8月前
|
JavaScript 前端开发
对闭包的理解以及使用
对闭包的理解以及使用
26 1
|
10月前
|
存储 缓存 前端开发
详解 Reat 中的闭包问题
JavaScript 中的闭包一定是最可怕的特性之一。 即使是无所不知的 ChatGPT 也会告诉你这一点。 它也可能是最隐秘的语言概念之一。 每次编写任何 React 代码时,我们都会用到它,大多数时候我们甚至没有意识到。 但最终还是无法摆脱它们:如果我们想编写复杂且高性能的 React 应用程序,我们就必须了解闭包。
82 0
详解 Reat 中的闭包问题
|
存储 JavaScript 前端开发
从执行上下文和作用域链理解闭包
从执行上下文和作用域链理解闭包
81 0
从执行上下文和作用域链理解闭包
|
自然语言处理 前端开发 JavaScript
作用域闭包
作用域闭包
64 0
|
前端开发
闭包
前端面试
|
存储 JavaScript 前端开发
深入理解作用域和闭包(上)
深入理解作用域和闭包(上)
深入理解作用域和闭包(上)
|
存储 缓存 JavaScript
深入理解作用域和闭包(下)
深入理解作用域和闭包(下)
深入理解作用域和闭包(下)