java python js作用域的对比

Posted samuel-leung

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java python js作用域的对比相关的知识,希望对你有一定的参考价值。

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) 函数内 局部变量提前声明 

  

a = "aa";

function func(){
  var a = "abc";
      
  function inner(){
        var a = "cba";
        console.log(a);
    }  
}    

从内层往外找  直到最外层找不到时报错

  

以上是关于java python js作用域的对比的主要内容,如果未能解决你的问题,请参考以下文章

Python名称绑定和作用域的关系??

js作用域的一道题的思考

关于 js 的作用域的对话过程的理解

[JS] 关于变量作用域的 undefined 和 error

理解js中的自由变量以及作用域的进阶

java代码在片段活动中不起作用