作用域

作者: 再见噜噜班 | 来源:发表于2019-11-28 20:34 被阅读0次

作用域

  • 解释
    官方解释作用域:‘一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。’
    通俗地解释作用域:就是一块‘地盘’,一个代码所在的区域。JavaScript中的作用域是静态的,在编写代码时就确定了。
  • 作用
    隔离变量,不同作用域下即使是同名变量也不会发生冲突。
  • 分类
    1.全局作用域
    2.函数作用域
    3.块级作用域(ES6新增)
//全局作用域
var a=1
function foo(){//函数foo的作用域
        var a=2
        function fn(){//函数fn的作用域
                var a=3
        }
}
if(true){//ES6块级作用域
        let a=4
}
  • 作用域链
    JavaScript中查找变量的过程是沿着作用域链由内而外的查找,直至全局作用域。
  • 习题
    //题1
    var x = 10
    function fn() {
        console.log(x) //作用域在函数定义时就已经确定了不改变
    }
    function show(f) {
        var x = 20
        f()
    }
    show(fn) //10

    //题2
    var fn = function (params) {
        console.log(fn)
    }
    fn()//输出fn函数

    var obj = {
        fn2:function(){
            console.log(fn)
        }
    }

    obj.fn2()//先在内部作用域找,然后去全局作用域找,找到fn函数并输出,如果要找找obj.fn2应该console.log(this.fn2)

相关文章

  • js作用域

    1 - 作用域 1.1 作用域概述 全局作用域 局部作用域(函数作用域) 1.2 全局作用域 1.3 局部作用域 ...

  • 作用域,作用域链

    1 - 作用域 1.1 作用域概述 全局作用域 局部作用域(函数作用域) 1.2 全局作用域 1.3 局部作用域 ...

  • 变量作用域

    变量作用域:静态作用域、动态作用域JS变量作用域:JS使用静态作用域JS没有块级作用域(全局作用域、函数作用域等)...

  • 一网打尽 JavaScript 的作用域

    JavaScript 的作用域包括:模块作用域,函数作用域,块作用域,词法作用域和全局作用域。 全局作用域 在任何...

  • 作用域

    词法作用域,动态作用域,全局作用域,局部作用域,函数作用域,块级作用域,有些地方还能看到隐式作用域和显示作用域。 ...

  • JS的作用域

    JS的作用域: 全局作用域、函数作用域、eval 作用域、块级作用域 全局作用域: 函数作用域: 结果截屏: 说...

  • [ES6]1.1作用域

    作用域 全局作用域(global/window) 函数作用域/局部作用域(function) 块状作用域({}) ...

  • C - 作用域

    C - 作用域 一个 C 变量的作用域可以是: 块作用域 函数作用域 函数原型作用域 或 文件作用域 作用域描述程...

  • JavaScript作用域分类

    JavaScript作用域分类全局作用域局部作用域函数作用域块级作用域catchwithlet 和 const 什...

  • JS基础---05作用域

    JavaScript基础 1 - 作用域 1.1 作用域概述 全局作用域 局部作用域(函数作用域) 1.2 全局作...

网友评论

      本文标题:作用域

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