打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
js 作用域和作用域链

一、作用域

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

  全局作用域:

    代码在程序的任何地方都能被访问,window 对象的内置属性都拥有全局作用域。

   函数作用域:

    在固定的代码片段才能被访问

  

  例子:

    

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

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

    变量取值:到创建 这个变量 的函数的作用域中取值

 

二、作用域链

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

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

var x = 10;

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

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

show(fn);

  

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
深入理解javascript原型和闭包(14)
JavaScript 基础二
前端基础进阶(四):详细图解作用域链与闭包
深入理解JavaScript作用域和作用域链
JavaScript中的预编译如何进行
JavaScript——函数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服