美文网首页
JS 作用域 闭包

JS 作用域 闭包

作者: 壬万er | 来源:发表于2017-05-16 16:05 被阅读0次

1.全局变量

定义在函数外部的变量都是全局变量。

声明提前

<script type="text/javascript">
    var a; //声明提前
    alert(a);
    a = 20; //赋值仍然在原来的位置
</script>

2.局部变量

定义在函数内部的变量都是局部变量。

<script type="text/javascript">
    function f(){
        alert(v);  //   弹出:undefined
        var v = "abc";  // 声明局部变量。局部变量也会声明提前到函数的最顶端。
        alert(v);   //  弹出:abc
    }
    alert(v);  //报错。因为变量v没有定义。 方法 f 的外部是不能访问方法内部的局部变量 v 的。
 </script>

3.作用域链

查找变量和函数的时候的路径


Paste_Image.png

4.闭包

每个人的理解都不一样!!

一个函数,如果它访问了它的外部变量,那么这个函数就是一个闭包
特性:闭包访问外部变量的时候,总是获取的是外部变量的最新的值!

一个函数,如果访问外部函数的局部变量,这样的函数,就是闭包!!

Paste_Image.png

1.回调函数
返回或是接受一个函数的函数就是高阶函数

Paste_Image.png Paste_Image.png Paste_Image.png

相关文章

  • js闭包的理解

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

  • Javascript 闭包

    如果要了解闭包,我们需要先了解闭包的由来,闭包的产生,源于JS的词法作用域 词法作用域 作用域是指一个 变量能够访...

  • js 闭包

    一、js 作用域 讲闭包首先就要理解 js 的作用域。再 ES5 中,js 有两种作用域,全局作用域和函数作用域(...

  • JS 闭包(Closure)

    参考阮一峰老师的JS 闭包 理解闭包前需要理解变量作用域、变量提升 JS作用域 那如何让它依次打印,12345呢;...

  • js闭包详解

    1.什么是闭包? 要了解什么是闭包,首先你要了解作用域。 js的作用域分两种,全局作用域和局部作用域。 我们知道在...

  • 作用域和闭包

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

  • 你不懂JS:作用域与闭包

    你不懂JS:作用域与闭包 第五章:作用域闭包 希望我们是带着对作用域工作方式的健全,坚实的理解来到这里的。 我们将...

  • 学习JavaScript闭包和作用域笔记

    JS JavaScript闭包和作用域 闭包 JavaScript高级程序设计中对闭包的定义:闭包是指有权访问另外...

  • 闭包??

    什么闭包,闭包有什么用?http://js.jirengu.com/pogadikofa/1/闭包是在某个作用域内...

  • JavaScript快速上手:关于闭包的知识分享

    JS中变量的作用域 在理解闭包之前,我们得弄清楚JS中变量的作用域原理,它分为全局作用域和局部作用域,它有一...

网友评论

      本文标题:JS 作用域 闭包

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