func函数2

JavaScript 作用域

作用域是可访问变量的集合,能够定义全局作用域或者局部作用域。

全局作用域:变量在函数外定义,即为全局变量。

局部变量:变量在函数内声明,即为局部变量。

变量作用域

例: var x=1;

   function test(){
       document.write('函数体内x的值为:'+x+'<br/>'); 注:undefined,x值取下面的,但是取不到值
       var x=19;
       document.write('函数体内对x重新赋值,此时x的值为:'+x+'<br/>'); //19
   }
        document.write('函数体外x的值为:'+x+'<br/>'); //1
          test();
          document.write('x的值为:'+x+'<br/>'); //1
          document.write('<hr color="red"/>');

  全局变量和局部变量的区别

1. 如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。

2. 局部变量在函数执行完毕后销毁。全局变量在页面关闭后销毁。

3. 局部变量:只能在函数内部访问。

 全局变量有 全局作用域: 网页中所有脚本和函数均可使用。

  var x=1,y=2;
  function calc(x,y){
    document.write('a的值为'+a+'<br/>');//undefined
    document.write('函数体内x的值为:'+x+'<br/>'); //1
    document.write('函数体内y的值为:'+y+'<br/>'); //2
    var x=0,y=12;
    z=x+y;
    x=x+y;
    var a=20;
    document.write('a的值为:'+a+'<br/>'); //20
    document.write('x的值为:'+x+'<br/>'); //12
    return z;
  }
   alert(calc(x,y)); //12
   //alert(x+'-'+y+'-'+z);

原文地址:https://www.cnblogs.com/971219-boy/p/10191399.html