找回密码
 立即注册
搜索
查看: 2057|回复: 0

[基础语法] 【js变量】变量的执行环境和作用域

[复制链接]

581

主题

110

回帖

4066

积分

管理员

积分
4066

众神之神

发表于 2016-12-20 14:58:49 | 显示全部楼层 |阅读模式
一、变量的执行环境和作用域:
    1.执行环境定义了变量或函数有权访问其他数据;
    2.全局执行环境是最外围的一个执行环境;
    3.在web浏览器中,全局执行环境为认为是window对象
    4.当代码在一个环境中执行是,会创建变量对象的一个作用域链;




    ★★★★★★
二、作用域链访问变量:
    1.内部环境可以通过作用域链访问所有外部环境,但外部环境不能够访问内部环境中的任何变量和函数;
    2.每个环境都可以向上搜索作用域链,以查询变量和函数名;
    3.任何外部环境都不能通过向下搜索作用域链而进入另一个执行环境;
    ★★★★★★





三、延长作用域链:
    执行环境的类型总共有两种:全局和局部(函数)
    延长作用域链语法:
    try-catch 和 catch块;
    witch语句




四、查询变量标示符(被赋值的变量名)
    1.搜索变量时根据作用域链从内向外搜索的;
    2.如果在局部变量搜索到赋值,则不继续向外搜索;





  1. var color = 'blue';
  2.     function changeColor() {
  3.         var antherColor = 'red';
  4.         function swapColors() {
  5.             var tempColor = antherColor;
  6.             antherColor = color;
  7.             color = tempColor;
  8.             //这里可以访问color、antherColor和tempColor
  9.         }
  10.         swapColors();
  11.         //这里可以访问color、和antherColor不能访问tempColor
  12.     }
  13.     changeColor();
  14.     //这里只能访问color
复制代码



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|十三博客 ( 鲁ICP备2023000528号 )

GMT+8, 2026-6-1 18:40 , Processed in 0.073661 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表