函数返回值规则

1.一个函数里面没有return  结果就是undefined

var num=10

function arr(num1,num2){

        var result=num1+num2

}

var result1=arr(1,2)

alert(result1)         //结果为underfined  

 2.程序自上向下进行

var num=10;
    function a(num1,num2){
        var result=num1+num2;
        alert(result1);            //结果为undefined,当前未赋值
    }
        var result1=a(3,8);         

3.遇到return就直接结束

var num=10;
    function a(num1,num2){
        var result=num1+num2;
        return result;
        alert(result);       //上面有return,直接结束,不执行
    }
        var result1=a(3,8);
        alert(result1)        //结果为11

4.在函数内部使用alert()弹出的内容,只是提示结果,不是函数返回值

 var num=10;
    function a(num1,num2){
        var result=num1+num2;
        alert(result);        //返回11
    }

    var result1=a(3,8);

5.全局变量

function a(num1,num2){
        result=num1+num2;
        return result;
    }
        var result=a(1,9);
        alert(result);   //结果为10,此时result为全局变量而不是局部变量

注意:(1)全局变量 声明以后再它的下面 都可以使用   (在函数外面用var声明(不用var也行) 函数内部没有 
          var声明的变量 会自动变成全局变量) 
     (2)局部变量  只能在函数内部使用 不影响外部变量  (函数里面用var声明  和形参)

6.局部变量优先全局变量

  var num=10;
    function a(num){
        alert(num)     //结果为100,100为形参,而且局部变量 优先 全局变量
    }
    a(100);

猜你喜欢

转载自blog.csdn.net/huhuhuja/article/details/121647737