zoukankan      html  css  js  c++  java
  • js的作用域

    首先明确一下:词法作用域是在写代码或者说定义时确定的,而动态作用域是在运行时确定的!

    其实 JavaScript 并不具有动态作用域,它只有词法作用域,但 this 机制某种程度上很像动态作用域。

     1 function foo() {
     2   // 输出 2
     3   console.log( a );
     4 }
     5 
     6 function bar() {
     7   var a = 3;
     8   foo();
     9 }
    10   
    11 
    12 var a = 2;
    13 
    14 bar();

    词法作用域关注函数在何处声明,而动态作用域关注函数从何处调用!

    词法作用域让 foo() 中的 a 通过 RHS 引用到了全局作用域中的 a,因此输出 2。

  • 相关阅读:
    Bessie Goes Moo
    小P的强力值
    Max Flow
    约瑟夫
    Moocryption
    杂务
    排行榜
    银行贷款
    轰炸
    Contaminated Milk
  • 原文地址:https://www.cnblogs.com/kuangliu/p/6363267.html
Copyright © 2011-2022 走看看