zoukankan      html  css  js  c++  java
  • 作用域和作用域链

    js 中,变量的作用域有三种:

    • 全局作用域
    • 函数作用域
    • ES6 新增了块级作用域

    全局作用域:

    1. 没有用 var 声明的变量(除去函数的参数)都具有全局作用域,成为全局变量
    2. window 的所有属性都具有全局作用域
    3. 最外层函数体外声明的变量也具有全局作用域

    最外层的作用域,具有全局作用域的变量可以被任何函数访问。 这样的坏处就是变量间很容易产生冲突,另外该值被修改时很难定位。

    函数作用域: 在函数作用域中定义的变量,在函数外部是无法访问的。

    ES6 的块级作用域: 只要用花括号包起来的都属于一个块,在其中定义的所有变量在代码块外都是不可见的,称之为块级作用域

    要得到一个变量的值,若当前作用域没有定义,就到父级作用域寻找。如果父级作用域中也没找到,就再向上一层寻找,直到找到全局作用域。这种一层一层的关系,就叫做作用域链。

  • 相关阅读:
    学无止境,我爱python
    Flask目录
    Django目录
    前端目录
    python目录
    MySQL目录
    Oracle与Sql server的区别
    Git
    restful规范
    Django 解决跨域问题(写入到中间件中)
  • 原文地址:https://www.cnblogs.com/dy0302/p/13458332.html
Copyright © 2011-2022 走看看