1  java的作用域以代码块为作用域 也就是{}

2 python中是以函数作为作用域:比如

  def func():

    if 1==1:

      name=”a”

    print(name)

  func()  不会报错  因为Python是以函数作为作用域

3 js和Python一样是以函数作为作用域的

 

ps:(1) 函数的作用域在函数未被调用之前 已经创建

  (2)函数的作用域存在作用域链 并且也是在被调用前创建(函数套函数)如:function func(){

                                        function inner(){}

                                     }

  (3) 函数内 局部变量提前声明 

  

  1. a = "aa";
  2.  
  3. function func(){
  4. var a = "abc";
  5. function inner(){
  6. var a = "cba";
  7. console.log(a);
  8. }
  9. }
  10.  
  11. 从内层往外找 直到最外层找不到时报错

  

版权声明:本文为Samuel-Leung原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Samuel-Leung/p/10809016.html