JavaScript基础(四)


一,函数


1,1 为什么需要函数


1.2 函数使用

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      span {
        display: inline-block;
        padding: 5px 10px;
        border: 1px solid #d1aeae;
        margin: 2px;
        border-radius: 5px;
        box-shadow: #d1aeae;
      }
    </style>
  </head>
  <body>
    <script>
      function sayHai() {
        console.log('hi~~~')
        // 1. 外层循环控制行数
        for (let i = 1; i <= 9; i++) {
          // 2. 里层循环控制列数
          for (let j = 1; j <= i; j++) {
            document.write(`<span> ${j} X ${i}=${j * i} </span>`)
          }
          // 换行
          document.write('<br>')
        }
      }
      sayHai()
      sayHai()
      sayHai()
    </script>
  </body>
</html>

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 1. 求两个数的和
      //   function getSum() {
      //     let num1 = +prompt('请输入第一个数')
      //     let num2 = +prompt('请输入第二个数')
      //     console.log(num1 + num2)
      //   }
      //   getSum()
      //   2. 求1~100之间所有数的和
      function getSum() {
        let sum = 0
        for (let i = 1; i <= 100; i++) {
          sum = sum + i
        }
        console.log(sum)
      }
      getSum()
    </script>
  </body>
</html>

1.3 函数传参



<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 1. 封装函数
      function getArrSum(arr) {
        // console.log(arr);
        let sum = 0
        for (let i = 0; i < arr.length; i++) {
          sum += arr[i]
        }
        console.log(sum)
      }
      getArrSum([1, 2, 3, 4, 5])
      getArrSum([5, 3, 4, 3545])
    </script>
  </body>
</html>


1.4 函数返回值

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //   // 1.求最大值函数
      //   function getMax(x, y) {
      //     return x > y ? x : y
      //   }
      //   let max = getMax(1, 2)
      //   console.log(max)

      //   2. 求 任意数组的最大值, 并且返回
      function getArrValue(arr = []) {
        // (1)先准备一个max变量存放数组的第一个值
        let max = arr[0]
        let min = arr[0]
        // (2)遍历比较
        for (let i = 1; i < arr.length; i++) {
          // 最大值
          if (max < arr[i]) {
            max = arr[i]
          }
          //   最小值
          if (min > arr[i]) {
            min = arr[i]
          }
        }
        // (3)返回值
        // 返回多个值
        return [max, min]
        // return max
      }
      let newArr = getArrValue([1, 3, 4, 7, 9])
      //把return看成返回之后 生成的  新的 数组
      //   数组从0开始排序  最大值=0  最小值=1
      console.log(`数组的最大值是${newArr[0]}`)
      console.log(`数组的最小值是${newArr[1]}`)
    </script>
  </body>
</html>



1.5 作用域



1,6 匿名函数

1. 函数表达式

. 使用场景


2. 立即使用函数


二,综合案例

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 1. 用户输出
      let sencond = +prompt('请输入秒数')
      //  2.  封装函数
      function getTime(t) {
        h = parseInt((t / 60 / 60) % 24)
        m = parseInt((t / 60) % 60)
        s = parseInt(t % 60)
        h = h < 10 ? '0' + h : h
        m = m < 10 ? '0' + m : m
        s = s < 10 ? '0' + s : s
        // console.log(h, m, s)
        return `转换完毕之后是${h}/${m}/${s}`
      }
      let str = getTime(sencond)
      document.write(str)
    </script>
  </body>
</html>

1.逻辑中断


2. 转换为布尔型


作业练习

<script>
      function changeNum(x, y) {
        let temp = x
        x = y
        y = temp
        document.writeln(`第一个值得结果是:${x}<br>第二个值的结果是:${y}`)
      }
      changeNum(1, 2) //在这里调用函数可以为ture中的任意值
    </script>

<script>
      function result() {
        let a = prompt('输入银行卡金额')
        let b = prompt('当月食宿消费金额')
        let c = prompt('当月生活消费金额')
        let d = a - b - c
        return d
      }
      let momey = result()
      document.write(`我的银行卡余额还有${momey}`)
    </script>


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值