JavaScript 函数的返回值(Day11)

16 阅读2分钟

函数的返回值

  • 可使用return设置函数的返回值

  • 语法:

    return 返回结果(值、对象、变量等均可)
    
  • return返回的结果作为函数执行的结果返回

  • 可通过定义变量用于接收该结果

  • 函数执行的结果就是定义的变量的值

        function sum(a, b, c) {
            var result = a + b + c
            return result
        }
        var numSum=sum(1, 2, 5)
        console.log(numSum)  //结果:8
    
  • 在函数中,return语句后的语句均不执行

        function sum(a, b, c) {
            var result = a + b + c
            return result
            console.log(a+b) //此代码不执行
        }
        var numSum=sum(1, 2, 5)
        console.log(numSum)  //结果:8
    
  • 当return后没有任何结果时,默认返回undefined

           function sum(a, b, c) {
            var result = a + b + c
            return 
        }
        var numSum=sum(1, 2, 5)
        console.log(numSum)  //结果:undefined
    
  • 若函数没有返回语句时,其执行结果所附变量值为undefined

            function sum(a, b, c) {
            var result = a + b + c
        }
        var numSum=sum(1, 2, 5)
        console.log(numSum)  //结果:undefined
    
    • alert函数不具备返回值

          var outprint = alert('hello')
          console.log(outprint) //结果:undefined
      
  • 返回值的类型: 任意数据类型

案例

案例1:定义一个函数判断一个数字是否为偶数

    //方法1:
    function isEven(num) {
        if (num % 2 === 0) {
            return true
        } else {
            return false
        }
    }
    var result = isEven(2)
    console.log(result) //结果:true
    //方法2
    function isEven(num) {
        return num % 2 === 0
    }
    var result = isEven(2)
    console.log(result) //结果:true

案例2:定义一个函数根据半径圆的面积并返回结果

    function space(r){
        return Math.PI*r*r
    }
    var result=space(5).toFixed(2)
    console.log(result) //结果:(保留小数点后两位小数)78.54

案例3:定义一个函数输出用户部分信息(name、age、gender、address)

  • 参数数量较多时,传入参数时需注意顺序
    function sayHello(name,age,gender,address){
        console.log('姓名:'+name+',年龄:'+age+',性别:'+gender+',地址:'+address)
    }
    sayHello('张三',25,'男','北京')
    //结果:姓名:张三,年龄:25,性别:男,地址:北京
  • 可使用对象将多个参数传入函数
    var obj={
        name:'孙悟空',
        age:25,
        gender:'男',
        address:'花果山'
    }
    function sayHello(person){
        console.log('姓名:'+person.name+',年龄:'+person.age+',性别:'+person.gender+',地址:'+person.address)
    }
    sayHello(obj)
    //结果:姓名:孙悟空,年龄:25,性别:男,地址:花果山
  • 实参也可为一个函数

  • 区分调用函数和函数对象

    函数名() //调用函数 使用的是函数的返回值
    函数名   //函数对象 使用函数对象