zoukankan      html  css  js  c++  java
  • Javascript中变量作用域(2)

    多层函数调用取变量时,无论在哪里调用,要到创建此函数的作用域中取值,如果找不到再往上一级,直到全局变量。

    • 外面定义了很多的全局的变量,下面我们来一个个理一下。
    • 定义三个变量a,b,c;将A1函数赋值给变量f, f()执行。
    • f函数执行其实就是A1函数执行,我们来看A1函数里也定义了a,b,c三个变量,并且此函数A1返回的是B1函数.
    • 那么执行B1函数,B1函数中定义变量b=5,这个B1函数又返回个匿名函数,你可以看下函数体,里面取a,b,c三个变量之和,所以我们一个个确定这个三个参数值。
    • 第一步,这个返回函数里没有定义变量,,
    • 第二步,继续往上一级找,找到b=5,但是a,c都没有找到
    • 第三步,继续往上找a=3,c=4,全找到
    • 所以a=3,b=5,c=4; 

    总结:函数里的变量没有的话要往创建这个函数的作用域里去找,如果找到则停止,反之直到找到全局作用域中。

  • 相关阅读:
    02Hibernate入门
    01Hibernate概述
    ExtJS布局-Layout
    STARLIMS 安装升级解决方案
    Windows Server 2012 安装.Net Framework 3.5
    vim 复制操作
    linux下挂载新硬盘
    转载 更改mysql 数据存储路径
    转载 阿里云centOS防火墙配置
    (转载)java线程
  • 原文地址:https://www.cnblogs.com/meiyh/p/6208141.html
Copyright © 2011-2022 走看看