首页 > 代码库 > javascript---作用域

javascript---作用域

  作用域

    什么是作用域?

      作用域就是你的代码在运行时,各个变量、函数和对象的可访问性。换句话说,作用域决定了你的代码里的变量能否被外界引用。

    为什么需要作用域?

      最小访问原则。作用域为代码提供了一个安全层级,不同作用域互不干扰。有利于追踪bug而且避免了同名变量冲突。

    作用域有哪些?

      全局作用域 (window)

      局部作用域(函数)

      块级作用域(ES6 let/const关键字)

  js中的作用域指的是词法作用域。一段js代码执行需要经过2个阶段:

        1.编译阶段--编译器会编译你的代码(词法化),这个时候,你的作用域就已经确定了的

        2.执行阶段--js引擎开始执行你的代码

  js的作用域跟执行上下文经常被混淆。如何区分呢?

        作用域是在编译阶段就已经确定了的, 而执行上下文是在函数被执行的时候创建的(执行上下文以后会讲到,注意:全局作用域可以看成一个特殊的‘执行上下文’,先把window理解为一个函数吧)

javascript---作用域