_6JavaScript

第六次网课

1.三元分支语句

使用场景:比if双分支更简单的语句,一般用来取值
符号:? :

let sum = 3 < 5 ? 3 : 5
console.log(sum)

小案例

<script>
        let num1 = +prompt('请输入第一个数')
        let num2 = +prompt('请输入第二个数')
        num1 > num2 ? alert(`最大值是:${num1}`) : alert(`最大值是:${num2}`)
    </script>

数字补零案例

<script>
        let num = prompt('请输入一个数')
        num < 10 ? alert(`0${num}`) : alert(num)
    </script>

第二种

  		let num = prompt('请输入一个数')
        num = num < 10 ? 0 + num : num
        alert(num)

2.Switch语句

找到跟小括号里数据全等的case值,并执行对应的代码
若没有**全等===**的则执行default(默认)里的代码

switch case语句一般适用于等值判断,不适合与区间判断
switch case语句一般要配合break关键字使用否则会造成case穿透
模板:
请添加图片描述
简单计算器案例

<script>
        let num1 = prompt('请您输入第一个数')
        let num2 = prompt('请您输入第二个数')
        let sp = prompt('请您输入+—*/中的一个')
        switch (sp) {
            case '+' :
                alert(`两个数的加法操作是${num1 + num2}`)
                break
             case '-' :
                alert(`两个数的减法操作是${num1 - num2}`)
                break
            case '*' :
                alert(`两个数的乘法操作是${num1 * num2}`)
                break
            case '/' :
                alert(`两个数的除法操作是${num1 / num2}`)
                break
            default:
            	alert(`你干啥`)
        }
    </script>

3.断点调试

作用:工作可以更好找到bug
打开F12开发者工具
点到sources一栏
选择代码文件
请添加图片描述

4.while循环

三要素

  1. 变量起始值
  2. 终止条件
  3. 变量变化量(自增或自减)

    是要加``反引号才能起到换行作用
<script>
        let i = 1
        while(i <= 3) {
            document.write(`我要循环三次<br>`)
            i++
        }
    </script>
	 	let end = prompt(`请输入要循环的次数:`)
        let i=1
        while(i <= end) {
            document.write(`好好学习<br>`)
            i++
        }

5.综合循环大练习

while可以在外面打印而for循环不可以

  1. 页面输出1~100
<script>
        // 1.  页面输出1~100
        let i = 1
        while(i <=100) {
            document.write(`这是第${i}个数<br>`)
            i++
        }
    </script>
  1. 一到一百的总和并输出
// 2.一到一百的总和并输出
        let i = 1
        let sum = 0
        while(i <= 100) {
            sum += i
            i++
        }
        document.write(sum)
  1. 计算1~100偶数和
// 3. 计算1~100偶数和
        let i = 1
        let sum = 0
        while(i <= 100) {
            if (i % 2 === 0) {
                sum += i
            }
            i++
        }
        document.write(sum)
  1. 计算1~100奇数和
        let i = 1
        let sum = 0
        while(i <= 100) {
            if (i % 2 !== 0) {
                sum += i
            }
            i++
        }
        document.write(sum)

6.退出循环

break

		let i = 1
        while(i <= 5) {
            if(i ===3) {
                break //退出整个循环  
            }
            document.write(`我要吃${i}个包子`)
            i++
        }

continue(一定在前面加上i++)

let i = 1
        while(i <= 5) {
            if(i === 3) {
                i++
                continue//只结束本次循环
            }
            document.write(`我要吃第${i}个包子`)
            i++
        }

你爱我吗案例

 <script>
        while(true) {
            let str = prompt('你爱我吗')
            if(str === '爱') {
                break
            }
        }
    </script>

简易ATM取款机案例

<script>
        let money = 100
        while(true) {
           let re = +prompt(`您要进行的操作:
                            1.取款
                            2.存款
                            3.察看余额
                            4.退出 `)
            switch (re) {
                case 1 :
                    let cun = +prompt('请输入存款金额')
                    money += cun
                    break
                case 2 :
                    let qu = +prompt('请输入取款的金额')
                    money -= qu
                    break
                case 3 :
                    alert(`您的余额是${money}元`)
                    break
            }
            if(re === 4) {
                break
            }
        }
    </script>

注意:
因为break只能退出一层循环,所以case里面写break不能真正退出,只能写if语句

7.If与Switch的区别

共同点

  • 都能实现多分支选择,
  • 大部分情况下可以互换

区别

  • Switch通常处理case为比较确定的情况下,而if···else通常适用于范围判断
  • Switch语句进行判断后直接执行到程序的语句,效率更高,而if语句有几种判断条件,就得判断多少次
  • Switch一定要注意是全等===,一定注意数据类型,同时注意break,否则会有穿透效果

结论

  • 当分支比较少时,用if···else
  • 当分支比较多时,用switch···case

8.for语句

1.for循环基本使用请添加图片描述

月薪过万for循环

<script>
        for(let i = 1; i <= 3; i++) {
            document.write('月薪过万<br>')
        }
    </script>

用for输出1~100

for(let i = 1; i<= 100; i++) {
	  document.write(`第${i}`)
 }

求1~100之间的偶数和

let sum = 0
        for(let i = 1; i <= 100; i++) {
            if(i % 2 ===0) {
                sum += i
            }
        }
        document.write(sum)

页面打印小星星

for(let i = 1; i <= 5; i++) {
   document.write('*')
}
2.for的遍历数组
<script>
        let arr = ['刘德华', '刘晓庆','刘小强','刘达强']
        for(i = 0; i <= arr.length - 1; i++) {
             console.log(arr[i])
        或者
        let arr = ['刘德华', '刘晓庆','刘小强','刘达强']
        for(i = 0; i < arr.length; i++) {
            console.log(arr[i]);
        }
    </script>
3.退出循环
  • continue 退出本次循环,一般用于排除或跳过某个选项时
  • break 退出整个for循环,一般用于结果已经得到,后续循环不需要时用

了解:

  1. while(true)来构造"无限"循环,需要用break退出循环
  2. for(;;)也可以用来构造"无限"循环,同样要用break退出循环

for循环和while循环的区别

  1. 当明确了循环的次数用for循环
  2. 当不明确循环的次数时用while循环
4.循环嵌套请添加图片描述
<script>
        for(let i = 1; i <= 3; i++) {
            document.write(`第${i}天<br>`)
            for(let j = 1; j <= 5; j++) {
                document.write(`第${j}个单词<br>`)
            }
        }
    </script>

五行五个小行星

 // 小案例
        for( let i = 1; i <= 5; i++) {
            document.write('*')
            for(let j =1; j <= 5; j++) {
                document.write(`*`)
            }
            document.write(`<br>`)
        }

升级版:让用户输入行列数

let row = prompt('请输入行数:')
        let col = prompt('请输入列数:')
        for( let i = 1; i <= row; i++) {
            document.write('*')
            for(let j =1; j <= col; j++) {
                document.write(`*`)
            }
            document.write(`<br>`)
        }

直角三角形

for(i = 1;i <= 5;i++) {
            document.write('*')
            for(j = 1;j <= i;j++) {
                document.write('*')
            }
            document.write(`<br>`)
        }

九九乘法表案例

<style>
        span {
            display: inline-block;
            width: 100px;
            height: 35px;
            line-height: 35px;
            text-align: center;
            padding: 5px 10px;
            border: 1px solid black;
            border-radius: 5px;
            margin: 4px;
            box-shadow: 2px 2px 2px rgba(255, 192, 203, .4);
            background-color: rgba(255, 192, 203, .1);
        }
    </style>
</head>
<body>
    <script>
        for(i = 1;i <= 9;i++) {
            for(j = 1;j <= i;j++) {
                document.write(`<span>${j} × ${i} = ${i * j}</span>`)
            }
            document.write(`<br>`)
        }
    </script>

9.数组

声明语法:
let arr = [1,12,‘pink’,true](可以储存任意类型的数据)
数组求和与平均值

 let arr = [2, 6, 1, 7, 4]
        let sum = 0
        for(let i = 0; i < arr.length ; i++) {
           sum += arr[i]
        }
        console.log(`数组的和结果是:${sum}`)
        console.log(`数组的平均值结果是${sum / arr.length}`)

1.求数组最大值和最小值
let arr = [2, 6, 1, 7, 400, 55, 56]
        let max = arr[0]
        let min = arr[0]
        for(let i = 1;i < arr.length; i++) {
            if (max < arr[i]) {
                max = arr[i]
            }
            if (min > arr[i]) {
                min = arr[i]
            }
        }
        console.log(`最大值是:${max}`)
        console.log(`最小值是:${min}`)
2.改
let arr = ['pink', 'red', 'green']
        for(let i = 0; i < arr.length; i++) {
            arr[i] = arr[i] + '老师'
        }
        console.log(arr);
3.增

推push

let arr = ['pink', 'red', 'green']
        arr.push = ['hotpink', 'lightpink']
        console.log(arr)

开头追加unshift

let arr = ['pink', 'red', 'green']
        arr.unshift = ['hotpink']
        console.log(arr)

返回新的数组长度
请添加图片描述

3.数组筛选

非常重要

let arr = [1,11,34,56,88,0,2,0,5]
        let newArr = []
        for(let i = 0; i < arr.length;i++) {
            if(arr[i] > 10) {
                newArr.push(arr[i])
            }
        }
        console.log(newArr)

数组排零

 let arr = [1,11,34,56,88,0,2,0,5]
        let newArr = []
        for(let i = 0;i < arr.length; i++) {
            if (arr[i] !==0) {
                newArr.push(arr[i])
            }
        }
        console.log(newArr)
4.数组删除

语法:

  • arr.pop() 从最后一个开始删,小括号里不带参数,返回值是删除的元素
  • arr.shift() 从第一个开始删,小括号里不带参数,返回值是删除的元素
  • splice() 删除指定元素 arr.splice(start,deleteCount)
  • arr.splice(从第几个元素开始,一共删除几个 (如果不写默认删到最后)
arr.splice(1,1)//从索引号1的位置开始删,只删一个

请添加图片描述

10.综合案例—渲染柱形图

“display:flex”:
“display:flex”是CSS(层叠样式表)中的一个属性值,用于创建弹性布局。它可以让容器内的子元素(也称为flex项目)在一个方向(可以是行方向或列方向)上灵活地排列,并且可以方便地控制子元素的对齐、分布和尺寸等。

  • 主轴和交叉轴:
    在flex布局中有两个重要的轴。主轴(main axis)是flex项目排列的主要方向,默认是水平方向(从左到右);交叉轴(crossaxis)与主轴垂直,用于定义垂直于排列方向的对齐方式等。
  • 对齐方式:
    可以控制子元素在主轴上的对齐方式,如
    “justify - content:flex - start”(默认值,子元素从主轴起点开始排列)
    “justify -content:center”(子元素在主轴居中排列)
    “justify - content:flex -end”(子元素在主轴终点排列
    “justify - content:space -between”(子元素在主轴上均匀分布,两端对齐)
    “justify - content:space -around”(子元素在主轴上均匀分布,每个元素两侧都有相等的间隔)。
  • 对于交叉轴上的对齐,使用“align - items”属性,其值包括“stretch”(默认值,子元素会拉伸以适应容器的交叉轴尺寸)、“flex -start”、“center”、“flex - end”等。
  • 弹性子元素的尺寸调整:子元素(flex项目)可以根据容器的尺寸灵活地调整自身大小。可以通过“flex - grow”、“flex - shrink”和“flex - basis”等属性来控制子元素在容器剩余空间中的伸缩行为。例如,“flex - grow”属性定义了子元素在有剩余空间时的伸展比例。

请添加图片描述
${arr[i]}px,他们之间千万不能有空格,i从0开始,所以第一季度为i+1
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值