JS的作用域及作用域链

JS的作用域及作用域链

什么是作用域呢?

在 Javascript 中,作用域分为 全局作用域 和 函数作用域

  • 全局作用域:代码在程序任何地方都能访问,window对象的内置属性都属于全局作用域
  • 函数作用域:在固定的代码片段才能被访问

JS的作用域及作用域链

作用域有上下级关系,上下级关系的确定就看函数是在哪个作用域下创建的。如上,fn作用域下创建了bar函数,那么“fn作用域”就是“bar作用域”的上级。

作用域最大的用处就是隔离变量,不同作用域下同名变量不会有冲突。

什么是作用域链?

一般情况下,变量取值到 创建 这个变量 的函数的作用域中取值

但是如果在当前作用域中没有查到值,就会向上级作用域去查,直到查到全局作用域,这么一个查找过程形成的链条就叫做作用域链

var x = 10;

function fn(){
    console.log(x);
}

function show(f){
    var x = 20;
    f();    // 10 
}

show(fn);
复制代码

JS的作用域及作用域链

 

上一篇:echarts修改分割线样式


下一篇:MySQL视图,show命令大全