什么是作用域和作用域链,简单几句话帮你搞明白!

作用域:

作用域简单点来理解就是对象可以被调用的区域,或者可以使用的区域,下面一段代码简单理解一下,str的作用域就是整个fun()内部,str1的作用域就是fun1()内部

fun() {
     
      let str = '1';
      let fun1 = function() {
     
        let str1 = '2'
        console.log(str1,str) //1,2
      }
      console.log(str)  // 1
      console.log(str1) // str1 is not defined
    },

作用域链:

弄明白了作用域,作用域链就很好理解了,作用域是一个对象可被调用的区域,而作用域链就是调用某个函数或属性时,先在当前作用域寻找,如果找不到的情况下去父级寻找,如果父级找不到继续向上级寻找,直到找到全局作用域为止,这个链式查找的过程,就是作用域链了,看下图
什么是作用域和作用域链,简单几句话帮你搞明白!_第1张图片

你可能感兴趣的:(JavaScript,js,javascript)