美文网首页web前端
函数作用域&&作用域链

函数作用域&&作用域链

作者: 悟空弜厸 | 来源:发表于2017-04-14 19:20 被阅读16次

注意:函数作用域和变量作用域并不是一个概念,在学习函数作用域时可以先暂时忘记变量作用域的概念。

怎么理解函数作用域?

我们可以把函数作用域理解为一个封闭的空间,这个空间内部的变量和参数在这个空间外是访问不到的。这个空间就可以叫做域。
那么在js代码中函数体就是这个空间。
列子如下:

function temp(){
        var number = 5;
        if(true){
            alert(number);//控制台打印number
        }
        for (var i = 0; i < 1; i++) {
            document.write(number);//页面输出number
        }
    }
    temp();
    console.log(number);//这个会报错,在全局访问不到函数内部的变量。

什么是作用域链?

我们都知道在js代码中函数是可以嵌套的,那么函数嵌套函数每一个函数又都有自己的作用域,相应的就形成了一个作用域嵌套作用域的情况,这就是作用域链。
列子如下:

function a(){
        function b() {
            function b1(){
                function b2(){

                }
            }
        }
        function c() {
            function c1() {

            }
            function c2() {
                
            }
        }
    }
//结合下面的图片理解,每一函数对应一个作用域
作用域链.png

相关文章

  • 函数作用域&&作用域链

    注意:函数作用域和变量作用域并不是一个概念,在学习函数作用域时可以先暂时忘记变量作用域的概念。 怎么理解函数作用域...

  • 前端JS基础三(作用域 闭包)

    作用域 作用域链 注意:函数的父级作用域是函数定义时候的作用域,不是函数执行时候的作用域,也就是说那个作用域定义了...

  • 作用域链&闭包&函数相关

    作用域链 在JS中函数可以创建作用域; 函数中又可以创建函数(可以开辟新的作用域); 函数内部的作用域可以访问外部...

  • 作用域、作用域链(个人学习笔记)

    图解作用域、作用域链 作用域链形成过程: 总结: 函数在创建时会取得当前作用域的执行期上下文,当函数执行时...

  • 作用域链

    作用域链 把多个作用域串起来便形成了作用域链;每个函数在初始化完成之后就拥有了各自的作用域链,但此时的作用域链中并...

  • 作用域和作用链

    关键词:作用域作用链 作用域 js中没有块级作用域 全局作用域,函数作用域太简单,就不演示(≧▽≦)/啦啦啦 作用...

  • 作用域

    JavaScript以函数为作用域。 2 作用域在被调用之前,已经被创建了。 3 函数的作用域存在作用域链,也是在...

  • 2018-12-18

    JS高级 作用域&作用域链 作用域: 1.作用域的个数:n(函数声明的个数)+1(全局作用域)2.作用域不会存储变...

  • 作用域链

    作用域链(scope chain) 理解: 作用域链决定了哪些数据能被函数访问。当一个函数创建后,它的作用域链会被...

  • 作用域和闭包

    作用域链 (据我所知)所有的编程语言都存在作用域链。整个代码存在全局作用域、函数作用以及块级作用域。 上述代码将会...

网友评论

    本文标题:函数作用域&&作用域链

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