欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

函数的返回值

程序员文章站 2024-03-17 15:51:46
...

在函数中可以使用 return 来设置函数的返回值,return 后面的值将会作为函数的执行结果返回,可以定义一个变量来接收函数的返回值。return 后面的值可以是任意类型,对象或函数等都可以作为返回值。

 

function sum (a,b,c){
    var total = a+b+c;
    return total;  //将一个基本类型变量作为返回值
}

var result = sum(4,7,8);
console.log(result); 


//输出19

代码中的 total 作为 sum 函数的执行结果返回,变量 result 接受 sum 函数的返回值,函数返回什么 result 就是什么。

 

function fun2(){
    var obj = {
        name:"tom";
        age:13;
    };

    return obj; //将一个对象作为返回结果
}

var a = fun2(); //a此时指向obj
console.log(a); 


//输出:Object{name:"Tom",age:13}

 

function fun3(){
    function fun4(){
        console.log("我是fun4");
    }

    return fun4; //将一个函数作为返回值
}

var result = fun3();  //返回值是函数fun4,result指向fun4这个函数对象
console.log(result); //result为fun4,输出:function fun4()
result();  //相当于执行 fun4(),输出“我是fun4”
fun3()(); //相当于执行 fun4(),输出“我是fun4”。fun3()结果是fun4,fun3()()就是fun4()

//输出:function fun4()
//     “我是fun4”
//     “我是fun4”

 

function fun3(){
    function fun4(){
        var a = 1;
        console.log("我是fun4");
        return a;
    }

    return fun4(); //将函数fun4的返回值作为fun3的返回值
}

var result = fun3();  //result等于函数fun4的返回值a
console.log(result);  //result为1

//输出:“我是fun4”
//     1

在函数中 return 后的语句都不会执行,使用 return 可以结束整个函数。

function sum (a,b,c){
    var total = a+b+c;
    return total;
    console.log("hello!"); //这条语句不会执行,因为return语句在前面,函数已经返回,后面的不再执行
}

var result = sum(4,7,8);
console.log(result);

//输出:19

上面的例子中,如果写了 return 语句,但是后面没有跟值,返回 undefined 。

 function sum(a,b,c){
     var d = a+b+c;
     return ;
     console.log("hello"); //该语句不会执行
 }

 var result = sum(4,7,8);
 console.log(result);  //输出undefined

//输出:undefined

如果不写 return 语句,也是返回 undefined 。

 function sum(a,b,c){
     var d = a+b+c;
     console.log("hello"); //该语句会执行
 }

 var result = sum(4,7,8);
 console.log(result);  


//输出:“hello”
//     undefined

 

var result = alert("hello");
console.log(result);  

//输出undefined,alert方法没有返回值

 

相关标签: javaScript