javaSprict 03 函数的使用

简介: 本文将讲述javaSprict中函数的声明,调用方法

前言

本文将讲述函数的声明,使用,如何传递值

一、函数是什么?

本质上是一堆具有特殊功能的代码块,便于人们精简代码减少页面代码的冗余

二、使用步骤

1.声明变量

<!-- 函数的使用 -->
    <!-- 1.声明变量     变量命名规则基本一致,小驼峰,前缀尽量为动词-->
    <!-- 定义函数完毕后是存放在内存中欧冠,执行的时候调用 -->
    <!--     function 函数名(){
        函数体(函数的构成部分,只有被调用方法名的时候才会被执行)
    } -->
    <!-- 调用方法:函数名() -->
    <script>
function getTotal() {
    // 函数体,这里写方法的具体功能
     }

2.调用函数

方法名()

注意点:方法可以多次调用,方法只有调用的时候才会被执行。

2.1方法求和案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        getSum()
        function getSum() {
            // 两数求和
            let num1 = +prompt('请输入第一个数')
            let num2 = +prompt('请输入第二个数')
            sum = num1 + num2
            console.log(sum);
        }
    </script>
</body>
</html>

3.函数传参

函数中的两大参数:形参与实参数

形参:声明函数时写在函数名右边小括号里面的叫形参(形式上的参数)

实参:调用函数时写在函数名右边小括号里的叫实参(实际上的参数)

3.1 函数传参-参数默认值

形参: 可以看做变量,但是如果一个变量不给值,默认是什么? ➢ undefined。

注意点:

  • 当用户不输入实参的时候,undefined+undefined为NaN
  • 为了避免出现NaN我们可以在定义的时候给形参设置一个初始值(可为任何数,一般为0)
  • 如果函数结束有return 则将以return的那条语句作为结果传递调用者,不会显示undefined。会输出return的值!!!

4.函数的返回值

4.1什么是函数的返回值?

  • 当调用某个函数,这个函数会返回一个结果出来
  • 这就是有返回值的函数
  • 函数本身不处理结果,而是交给调用者处理
  • 函数内部不需要输出结果,而是返回结果

4.2什么时候需要返回值?

当函数需要将内部数据交给外部调用的时候就需要return将值传递给调用者

4.3 返回值怎么写?

  • 在函数体中使用 return 关键字能将内部的执行结果交给函数外部使用
  • return 后面代码不会再被执行,会立即结束当前函数,所以 return 后面的数据不要换行写
  • return函数可以没有 return,这种情况函数默认返回值为 undefined
  • 再次插入一张博主今天做案例

8f28fac00d4341b28059e5034df35ec1.png

5.综合案例:

5.1方法return的返回值传递到不同类型中

919b12debb1b4a72b0556890304ef7c7.gif

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        a {
            list-style: none;
            text-decoration: none;
        }
    </style>
</head>
<script>
    let num1 = +prompt('请输入第一个数')
    let num2 = +prompt('请输入第二个数')
    let val = getSum(num1, num2)
    document.write(`<a href="#">${val}</a>`)
    document.write(`<button>${val}</button>`)
    // 也可以直接输出
    // document.write(getSum(1, 2))
    function getSum(x = 0, y = 0) {
        return x + y
    }
    // 返回值细节:
/*     函数的执行流程:1.调用函数(传递参数)2.执行函数体3.return关键字返回结果到调用者
        return 后面的代码不会执行
        不是所有的函数都有返回值(alert),没有的返回值函数为undefined */
</script>
</body>
</html>

5.2开支统计

6a3d649d71c9450ba56ecea6c236ebd9.gif

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        //注:代码执行是从上往下执行,如果ballance是写在  document.write(`本月的总共剩余额为${ballance}RMB`) 下则会报错,提示ballance需要先声明
        let ballance=select()
        document.write(`本月的总共剩余额为${ballance}RMB`)
        function select() {
            // 连续出现相同的东西,可直接写一个方法就可以了,不需要写switch判断往下走.....
            let search = +prompt('请输入银行卡余额:')
            let eat = +prompt('请输入当月食宿消费:')
            let exp = +prompt('请输入当月生活消费:')
            let sum = search - eat - exp
            return sum
        }
    </script>
</head>
<body>
</body>
</html>

5.3 return配合true做判断

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //  需求:判断flag的值,如果为true就正常求和(不传入参数的时候默认就是true),如果为false就求平均数 
        document.write(handleData([1, 2, 3, 4, 5],8))
        // 直接输入true会报错,必须用一个变量来接受它,这里用的flag
        function handleData(arr, flag= true){
        let sum= 0
        for (let i = 0; i < arr.length; i++) {
            sum += arr[i]
        }
        if (flag) {
            return sum
        } else {
            return sum / arr.length
        }
    }
    </script>
</body>
</html>


相关文章
|
2月前
|
C语言
函数
函数
16 1
|
6天前
|
安全 程序员 数据处理
CreateFileMapping函数详解
CreateFileMapping函数详解
|
11天前
函数\judgeprime
函数\judgeprime
13 5
|
2月前
|
存储 C语言 Python
函数的前世今生1系列
函数的前世今生1系列
|
2月前
|
前端开发 JavaScript
Less的函数的介绍
Less的函数的介绍
32 0
|
7月前
|
人工智能
函数练习
用菜单的形式分别选择百钱买百鸡,九九表,水仙花数。
34 0
|
12月前
|
程序员 C语言 C++
函函函函函函函函函函函数——one
函函函函函函函函函函函数——one
66 0
|
算法 编译器
函数(二)
函数(二)
65 0
函数(二)
|
JavaScript 前端开发 API
h函数为什么叫h?
h函数为什么叫h?
220 0
|
C语言
可变长参数函数
可变长参数函数
111 0