javaScript中的全局变量和局部变量;及javaScript函数作用域;

       在javaScript中,全局变量可以不用var声明,但是局部变量一定要用var声明;不用var声明的被认为是全局变量;

      例如:

        1 . var scope = "global";

            function fun(){

               var scope = "local";

               return scope;//返回值是local

          }

       2. scope = "global";

          function fun1(){

              scope = "local";//全局变量被从新赋值了;

              myscope="local";//这里显示声明了一个全局变量;

              return [scope, myscope];//返回值为["local", "local"];

       }

  作用域

   像一般的函数都是块级作用域:比如在某个语句块(也就是被大括号扩起来的)内定义的变量在语句块之外是不能用的,也即是不可见的:例如,

    public void fun(){

            int a = 2;

            if (a == 2){

                  int b = 3;

           }

          System.out.println(b); //这一行代码是错的;因为b是在if语句块内声明的,在语句块外是不能使用的

    }

  在javaScript中,属于函数级作用域:也就是说函数体内声明的所有变量都是可见的,只要在声明之后使用都是可以的:

         function  fun(){

            int a = 2;

            if (a == 2){

                  int b = 3;

           }

          console.log(b); //这一行代码是正确的;b在函数内是可见的

    }


你可能感兴趣的:(JavaScript)