Javascript入门学(基础)

news2024/9/23 7:19:54

在这里插入图片描述

软件篇

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

JS基础语法第一天

1.javascript介绍

1.1 js是什么

  1. 是什么
    是一种运行在客户端(浏览器)的编程语言,实现人机交互效果,而html和css是标记性语言,并非编程语言
  2. 有什么用
    在这里插入图片描述
  3. js的组成
    在这里插入图片描述
    在这里插入图片描述

html+css+js实现按钮点击功能

<!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>Base01</title>
    <style>
        .pink{
            background-color: pink;
        }

    </style>
</head>
<body>
<button class="pink">按钮一</button>
<button>按钮二</button>
<button>按钮三</button>
<button>按钮四</button>
<script>
    let btns = document.querySelectorAll('button');
    for(let i=0;i<btns.length;i++){
        btns[i].addEventListener('click',function (){
            document.querySelector('.pink').className=''
            this.className='pink'
        })
    }
</script>
</body>
</html>

1.2 js书写位置

在这里插入图片描述

1.2.1 内部js

在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<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>js书写位置-内部</title>
</head>
<body>
<!--内部js-->
<script>
<!--    页面弹出警示框-->
    alert("Hello js~")
</script>
</body>
</html>
1.2.2 外部js

在这里插入图片描述
在这里插入图片描述

js_location_outer.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<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>js书写位置-外部</title>
</head>
<body>
<!--注意路径的书写-->
<script src="../js/js_location_outer.js"></script>
</body>
</html>

js_location_outer.js

//alert切记不要误敲为alter,切记,切记
alert("hello js~")
1.2.3 行内js

在这里插入图片描述
js_location_inline.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<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>js书写位置-行内</title>
</head>
<body>
<button onclick="alert('hello js~')">按钮一</button>
</body>
</html>

1.3 js的注释

在这里插入图片描述

1.4 js的结束符

在这里插入图片描述
在这里插入图片描述

1.5 输入和输出语法

1.5.1 输出

在这里插入图片描述

1.5.2 输入

在这里插入图片描述

<!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>输入和输出语法</title>
</head>
<body>
<script>
    //    1.文档输出内容
    document.write("hello js")
    document.write("<h1>标题一</h1>")
    //    2.页面弹出警示框
    alert("Hello js~")
    alert("努力,奋斗")
    //    3.console输出
    console.log("hello js")
    console.log("努力")
    //    4.prompt
    prompt("请输入内容")
</script>
</body>
</html>

在这里插入图片描述

1.6 字面量

在这里插入图片描述

2.变量

2.1 变量是什么

在这里插入图片描述

2.2 变量基本使用(重点)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:赋值符号”=”前后都要有空格

<!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>变量的使用</title>
</head>
<body>
<script>
    <!--    1.定义变量-->
    let name
    //2.变量赋值
    name = "chen"
    //3.变量输出
    alert(name)
    document.write(name)
    console.log(name)
</script>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

<!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>更新变量值</title>
</head>
<body>
<script>
    <!--  定义一个变量-->
    //let不允许多次声明一个变量
    let name = "张三"
    console.log("更新前:" + name)
    //更新变量值
    name = "Tom"
    console.log("更新后:" + name)

//    声明多个变量
    let sex='女',age=18 //不推荐这样写,推荐分开声明并初始化
    console.log(sex)
    console.log(age)
    console.log(name,sex,age)
    //推荐书写
    let uname="chen"
    let uage=20
    console.log(uname,uage)
</script>
</body>
</html>

2.3 变量的本质

在这里插入图片描述

2.4 变量命名规则与规范

在这里插入图片描述
在这里插入图片描述

3.数组

数组中的元素可以为任意类型

3.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>数组的使用</title>
</head>
<body>
<script>
    <!--    1.声明数组-->
    let names = ["成成", "陈陈", "花花"]
    //2. 使用数组
    console.log(names)
    for (let i = 0; i < names.length; i++) {
        console.log(names[i])
    }
</script>
</body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<!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>数组-基本使用</title>
</head>
<body>
<script>

    let array1 = ["小陈", "小陆", "小郭"]
    for (let i = 0; i < array1.length; i++) {
        console.log(array1[i])
    }
    //    a)数组单元值的类型为字符类型
    let list1 = ["晨晨", "清清", "珂珂"]
    console.log(`list1数组的长度为${list1.length}`)
    for(let i=0;i<list1.length;i++){
        console.log(`数据${list1[i]},其对应的类型为${typeof list1[i]}`)
    }
    //    b)数组单元值的类型为数值类型
    let list2 = [1, 2, 3, 4, 5, 6]
    console.log(`list2数组的长度为${list2.length}`)
    for(let i=0;i<list2.length;i++){
        console.log(`数据${list2[i]},其对应的数据类型为${typeof list2[i]}`)
    }
    //    c)数组单元值的类型为混合多种类型
    let list3 = [true, 1, false, "hello"]
    console.log(`list3数组的长度为${list3.length}`)
    for(let i=0;i<list3.length;i++){
        console.log(`数据${list3[i]},其对应的数据类型为${typeof list3[i]}`)
    }
</script>
</body>
</html>

3.2 数组的基本操作

在这里插入图片描述

<!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>数组-操作数组</title>
</head>
<body>
<script>
    //1.定义一个数组array,在原数组的基础上对数组进行操作
    let array = [1,2,3,4,5,6,7,8]
    document.write("原数组array----------------")
    document.write(`<br>`)
    for(let i=0;i<array.length;i++){
        document.write(`${array[i]}\t`)
    }

    //2.push()方法:动态向数组的尾部添加一个单元
    document.write(`<br>`)
    array.push(`2`)
    document.write(`<br>`)
    document.write("push()----------------------")
    document.write(`<br>`)
    for(let i=0;i<array.length;i++){
        document.write(`${array[i]}\t`)
    }
    //3.unshift()方法:动态向数组头部添加一个单元
    document.write(`<br>`)
    array.unshift(`3`)
    document.write(`<br>`)
    document.write("unshift()--------------------------")
    document.write("<br>")
    for(let i=0;i<array.length;i++){
        document.write(`${array[i]}\t`)
    }

    //4.pop()方法:删除最后一个单元
    document.write(`<br>`)
    array.pop()
    document.write(`<br>`)
    document.write(`pop()----------------------------`)
    document.write(`<br>`)
    for(let i=0;i<array.length;i++){
        document.write(`${array[i]}\t`)
    }

    //5.shift()方法:删除第一个单元
    document.write(`<br>`)
    array.shift()
    document.write(`<br>`)
    document.write(`shift()-----------------------------`)
    document.write(`<br>`)
    for(let i=0;i<array.length;i++){
        document.write(`${array[i]}\t`)
    }

    //6.splice()方法:动态删除任意单元
    document.write(`<br>`)
    array.splice(0,1)  //从索引值为0的位置开始删除1个元素
    document.write(`<br>`)
    document.write(`splice()---------------------------`)
    document.write(`<br>`)
    for(let i=0;i<array.length;i++){
        document.write(`${array[i]}\t`)
    }
</script>
</body>
</html>

在这里插入图片描述

4.常量

在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<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>常量</title>
</head>
<body>
<script>
<!--    1.常量在声明时,必须要进行赋值  2.常量赋值后,不可再次修改常量值-->
    const PI=3.1415926
    console.log(PI)
</script>
</body>
</html>

5.数据类型

在这里插入图片描述
在这里插入图片描述

5.1 基本数据类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<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>基本数据类型</title>
</head>
<body>
<script>
    //1. 计算圆的面积
    const PI=3.14
    let radius=prompt("请输入圆的半径:")
    let area=PI*radius*radius
    console.log("半径:",radius,"\t面积:",area)
    document.write("半径:",radius,"\t面积:",area)

    console.log(NAN+2)
    console.log(NAN+"cc")
</script>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

<!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>基本数据类型-字符串类型</title>
</head>
<body>
<script>
    <!--    1.初始化字符串数据-->
    let str1 = "hello world"
    let str2 = 'hello world'
    let str3 = `hello world`
    //    2.字符串拼接
    document.write(str1 + str2 + str3+`\n`)
    document.write(`我只想说:` + str1 + "I want to say " + str2+"\n")
    //    3.字符串的引号嵌套
    document.write("I want to say 'Hello world!'\n")
    document.write(`I want to say "Hello world!"\n`)
    document.write(`I want to say \`Hello world!\`\n`)
</script>
</body>
</html>

在这里插入图片描述

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<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>基本数据类型-模板字符串</title>
</head>
<body>
<script>
    let name=prompt("请输入您的姓名")
    let age=prompt("请输入您的年龄")
    document.write(`大家好,我叫${name},今年${age}岁了。`)
</script>
</body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<!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>其他三种基本数据类型</title>
</head>
<body>
<script>
    //1.布尔型基本数据类型
    let isTrue = true
    document.write(3 < 4)
    console.log(+3 > 4)
    console.log(3 < 4)

    //2.未定义数据类型
    let num
    console.log(num)

    //3.空类型(null)
    let num1 = null
    console.log(num1)

    //未定义undefined与null的区别
    console.log(undefined + 1)  //NAN
    console.log(null + 1)  //1
</script>
</body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<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>检测数据类型</title>
</head>
<body>
<script>
    let str=`hello`
    console.log(typeof str)
    let num=10
    console.log(typeof num)
    let isTrue=true
    console.log(typeof isTrue)
    let num1
    console.log(typeof num1)
    let str1=null
    console.log(typeof str1)
</script>
</body>
</html>
5.2.1 基本数据类型转换

在这里插入图片描述

隐式转换

在这里插入图片描述

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<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>基本数据类型转换-隐式转换</title>
</head>
<body>
<script>
    // 1.隐式转换
    console.log(1+1)   //2
    console.log(`1`+1)  //11
    console.log(+1)  //1
    console.log(+`1`)  //1,重点使用+号
    console.log(1-`1`)  //0
    console.log(1-1)   //0
    console.log("hello"+66)  //hello66
</script>
</body>
</html>
显式转换

在这里插入图片描述

<!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>数据类型转换-隐式转换</title>
</head>
<body>
<script>
    let num = `123`
    console.log(typeof num)  //string
    console.log(Number(num), typeof Number(num))  //123,'number'
    
    let num1 = Number(`234`)
    console.log(num1, typeof num1)   //234,'number'

    let num2 = 3.1415926
    console.log(parseInt(num2))  //3
    console.log(parseFloat(num2))  //3.1415926
</script>
</body>
</html>

综合练习01:渲染页面表格

<!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>综合练习01</title>
    <style>
        h2 {
            text-align: center;
        }

        table {
            /*合并相邻边框*/
            border-collapse: collapse;
            height: 80px;
            margin: 0 auto;
        }

        th {
            padding: 5px 30px
        }

        table, th, td {
            border: 1px solid;
        }
    </style>
</head>
<body>
<h2>订单确认</h2>

<script>
    //    1.用户输入
    let price = +prompt("请输入商品价格")  //+的作用:将字符串类型的数据转换成数值型
    let num = +prompt("请输入商品数量")
    let addr = prompt("请输入收获地址")
    //    2.计算价格
    // let money=Number(price)*Number(num)
    let money=price*num
    //    3.页面打印渲染
    document.write(`
    <table>
    <tr>
        <th>商品名称</th>
        <th>商品价格</th>
        <th>商品数量</th>
        <th>总价</th>
        <th>收货地址</th>
    </tr>
    <tr>
        <td>小米青春版PLUS</td>
        <td>${price}</td>
        <td>${num}</td>
        <td>${money}元</td>
        <td>${addr}</td>
    </tr>
</table>
    `)
</script>
</body>
</html>

5.2 引用数据类型

6.运算符

6.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>运算符-赋值运算符</title>
</head>
<body>
<script>
    // 1.赋值运算符
    let num = 1
    console.log(num)   //1
    num += 1
    console.log(num)   //2
    num -= 1
    console.log(num)   //1
    num *= 2
    console.log(num)   //2
    num /= 2
    console.log(num)  //1
    num %= 2
    console.log(num)  //1
</script>
</body>
</html>

6.2 一元运算符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<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>运算符-一元运算符</title>
</head>
<body>
<script>
    // 1.前置自增一元运算符
    let num1=1
    ++num1
    console.log(num1)  //2
    // 2.后置自增一元运算符
    let num2=1
    num2++
    console.log(num2)  //2
//    3.前置自增一元运算符和后置自增一元运算符混用
    let num3=1
    console.log(num3++ + ++num3 + num3)  //7


//    1.前置自减一元运算符
    let num4=1
    --num4
    console.log(num4) //0
//    2.后置自减一元运算符
    let num5=1
    num5--
    console.log(num5)//0
//    3.前置自减一元运算符和后置自增一元运算符混用
    let num6=1
    console.log(--num6 + num6-- +num6)//-1
</script>
</body>
</html>

6.3 比较运算符

在这里插入图片描述
在这里插入图片描述

<!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>运算符-比较运算符(关系运算符)</title>
</head>
<body>
<script>
    console.log(3 > 2)
    console.log(3 >= 3)
    console.log(3 < 2)
    console.log(3 <= 3)
    console.log(2 == 2)  //true
    console.log(`2` == 2)  //true
    console.log(undefined==null)  //true
    console.log(undefined===null)  //false
    console.log(`2` === 2) //false ,常用的判断符号(值和数据类型都一样才可以)
    console.log(NaN===NaN) //false,NaN不等于任何值
</script>
</body>
</html>

6.4 逻辑运算符

在这里插入图片描述

<!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>运算符-逻辑运算符</title>
</head>
<body>
<script>
    //1.逻辑与 ,&&:一假则假
    console.log(3 > 5 && 3 < 6)  //false
    console.log(6 > 5 && 6 < 10)  //true
    //  2.逻辑或,||:一真则真
    console.log(3 > 5 || 3 < 6)  //true
    //  3.逻辑非,!:true->false,false->true
    console.log(!true)  //false
    console.log(!false)  //true
</script>
</body>
</html>

综合练习02:运算符

<!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>运算符</title>
</head>
<body>
<script>
    let num = Number(prompt("请输入一个数值"))
    if (num % 4 === 0 && num % 100 !== 0) {
        alert("true")
    } else {
        alert("false")
    }
</script>
</body>
</html>

6.5 运算符优先级

在这里插入图片描述

7.语句

7.1 表达式和语句

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.2 分支语句

7.2.1 单分支语句

在这里插入图片描述
在这里插入图片描述

7.2.2 双分支语句

在这里插入图片描述

7.2.3 多分支语句
//多条件分支语句

if(条件1){
   满足条件1要执行的代码
}else if(条件2){
   满足条件2要执行的代码
}else if(条件3){
   满足条件3要执行的代码
}else{
   不满足条件要执行的代码
}
<!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>语句-分支语句</title>
</head>
<body>
<script>
    //1.单分支语句
    if (true) {
        console.log("执行语句1")
    }
    if (3 >= 5) {  //false
        console.log("执行语句2")
    }
    if (2 === `2`) {  //false
        console.log("执行语句3")
    }
    //除了0,所有的数字都为真
    if (2) {       //true
        console.log("执行语句4")
    }
    if (0) {   //false
        console.log("执行语句5")
    }
    //    除了‘’,所有的字符串都为真
    if ("chenchen") {   //true
        console.log("执行语句6")
    }
    if ('') {   //false
        console.log("执行语句7")
    }


    //    2.双分支语句
    let score1 = +prompt("请输入您的成绩")
    if (score1 > 92) {
        alert("成绩合格")
    } else {
        alert("成绩不合格")
    }

    //    3.多分支语句
    let score2 = +prompt("请输入您的数学成绩")
    if (score2 >= 0 && score2 < 60) {
        alert("成绩不及格")
    } else if (score2 >= 60 && score2 < 70) {
        alert("成绩及格")
    } else if (score2 >= 70 && score2 < 80) {
        alert("成绩良好")
    } else if (score2 >= 80 && score2 < 90) {
        alert("成绩优秀")
    } else if (score2 >= 90 && score2 <= 100) {
        alert("成绩超优秀")
    }
    else{
        alert("你输入的成绩有误")
    }
</script>
</body>
</html>
7.2.4 三元运算符

在这里插入图片描述

<!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>语句-分支运算符(三元运算符)</title>
</head>
<body>
<script>
    let score = +prompt("请输入您的成绩")
    console.log(score > 60 ? "成绩合格" : "成绩不合格")
</script>
</body>
</html>
7.2.4 数字补0运算
<!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>数字补0</title>
</head>
<body>
<script>
    //1.方式一
    let num = +prompt(`请任意输入一个数值`)
    num = num < 10 ? `0` + num : num
    alert(num)
    //2.方式二
    let num1 = prompt(`请任意输入一个数值`)
    num1 = num1 < 10 ? 0 + num1 : num1
    alert(num1)
</script>
</body>
</html>
7.2.5 switch表达式

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

<!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>语句-分支语句(switch语句)</title>
</head>
<body>
<script>
    let choice = +prompt("请输入您的选项(0,1,2)")
    switch (choice) {
        case 0:
            alert("您的选项是0")
            break
        case 1:
            alert("您的选项是1")
            break
        case 2:
            alert("您的选项是3")
            break
        default:
            alert("您的选项不存在")
    }
</script>

</body>
</html>

7.3 循环语句

7.3.1 while循环

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<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>循环语句-while语句</title>
</head>
<body>
<script>
    let count=+prompt("请输入次数")
    let i=0
    while(i<=count){
        //注意:需要使用反引号``
        console.log(`${i}`)
        i++
    }

//    中止条件-break
    while(true){
        let str=prompt("你想回家吗?(想/不想)")
        if(str===``){
            break
        }
    }
//    中止条件-continue
    let count2=+prompt("请输入次数")
    let j=0
    while(j<count2){
        if(j%2 ===0){
            j++
            continue
        }
        else{
            j++
            console.log(`偶数:${j}`)
        }
    }
</script>
</body>
</html>
7.3.2 for循环

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.3.3 嵌套循环

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<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>循环-循环嵌套</title>
</head>
<body>
<script>
  let num1=+prompt("请输入第一个数据")
  let num2=+prompt("请输入第二个数据")
  for(let i=0;i<num1;i++){
      for(let j=0;j<num2;j++){
          let ca=i*j
          document.writeln(`${i}*${j}=${ca}`)
      }
  }
</script>
</body>
</html>

7.4中断循环

在这里插入图片描述

综合练习03:循环

倒三角

<!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>循环-倒三角</title>
</head>
<body>
<script>
    let num = +prompt("请任意输入一个数据")
    for (let i = num; i >= 0; i--) {
        for (let j = i; j >= 0; j--) {
            document.write("*")
        }
        document.write(`<br>`)
    }
</script>
</body>
</html>

在这里插入图片描述

乘法口诀表

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<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>循环-乘法口诀表</title>
</head>
<body>
<script>
    document.write(`9*9乘法口诀表`)
    document.write(`<br>`)
    for(let i=0;i<=9;i++){
        for(let j=1;j<=i;j++){
            let ca=i*j
            document.write(`${j}*${i}=${ca}\t`)
        }
        document.write(`<br>`)
    }
</script>
</body>
</html>

在这里插入图片描述

8.断点调试

在这里插入图片描述

9.函数(******)

9.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>函数-入门</title>
</head>
<body>
<script>
    //1.定义方法
    function hello() {
        console.log("hello js")
    }

    //2.调用方法
    hello()
</script>
</body>
</html>

9.2 函数的参数及返回值

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:在声明函数时一定要给形参一个默认值,默认值只有在实参未给定时生效,否则形参默认值不生效

<!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>函数-有参数有返回值</title>
</head>
<body>
<script>
    //1.声明定义函数(有参数,参数默认值均为0)
    function sum1(m=0,n=0) {
        return m+n
    }

    //2.调用函数
    let num1 = +prompt(`请输入第一个数据num1`)
    let num2 = +prompt(`请输入第二个数据num2`)
    console.log(sum1(num1,num2))
</script>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

9.3 函数的作用域

在这里插入图片描述

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<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>函数-函数作用域</title>
</head>
<body>
<script>
    let v1=1  //全局变量
    function fn(x,y){  //形参也可以看作是函数的局部变量
        v1=2   //如果此处没有let 定义变量,直接对变量赋值,此时该变量为全局变量
        let v2=3  //此处为局部变量
    }
    console.log(v1)
    // console.log(v2)   //错误,因为v2是局部变量,只有在该变量所在的函数内生效,否则无法被调用
</script>
</body>
</html>

有参数有返回值

<!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>函数-有参数有返回值</title>
</head>
<body>
<script>
    //1.声明定义函数(有参数)
    function hello(name) {
        alert(`hello ${name}`)
    }

    //2.调用函数
    let name = prompt(`请输入姓名`)
    hello(name)

    //1.声明定义函数(有参数有返回值)
    function sum(a, b) {
        let c = a + b
        return c
    }

    //2.调用函数
    let num1 = +prompt(`请输入a的值:`)
    let num2 = +prompt(`请输入b的值:`)

    let sum1 = sum(num1, num2)
    alert(sum1)
</script>
</body>
</html>

在这里插入图片描述
注意:
1.函数中的变量,如果没有声明进行赋值,则被看作是全局变量,不允许这种情况
2.函数中的形参看作是局部变量
在这里插入图片描述

9.4 匿名函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

<!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>函数-匿名函数</title>
</head>
<body>
<script>
    //1.声明
    let fn = function () {
        console.log(`函数表达式`)
    }
    //2.调用
    fn()

        //立即执行函数
        (function () {
            console.log(`匿名函数`)
        }())
        (function(){console.log(`立即执行函数2`)})()
</script>
</body>
</html>

在能够访问到的情况下 先局部 局部没有在找全局
在这里插入图片描述

10. 对象

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.1 语法

在这里插入图片描述

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<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>对象-语法</title>
</head>
<body>
<script>
  //1.声明字符串类型变量
  let str=`hello js`
  //2.声明数值类型变量
  let num=16
  //3.声明对象类型的变量,使用一对花括号,目前是一个空对象,
  let user={}
</script>
</body>
</html>

10.2 属性和访问

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<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>对象-属性和访问</title>
</head>
<body>
<script>
    //1.声明属性
    let user={
        name:`chenchen`,
        age:18,
        sex:``
    }
    //2.访问
    console.log(user.name)
    console.log(user.age)
    console.log(user.sex)
    //3.动态追加属性
    user.name=`诚诚`
    user.age=20
    user[`sex`]=``
    console.log(user.name)
    console.log(user.age)
    console.log(user.sex)
</script>
</body>
</html>

10.3 方法和调用(*****)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<!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>对象-方法和调用</title>
</head>
<body>
<script>
    //方法是依附在对象上的函数
    //1.声明对象
    let person = {
        name: `chenchen`,
        age: 18,
        //方法是由方法名和函数两部分构成,它们之间使用:分隔
        //注意:在调用对象中的属性或方法时,需要使用对象名.进行调用,即使是在对象中也要
        hobby: function () {
            console.log(`${person.name}喜欢看电影`)
        },
        run: function () {
            console.log(`${person.name},${person.age}岁,正是跑得快的时候`)
        }
    }

    //2.调用对象中的属性
    console.log(person.name);
    console.log(person.age);
    //调用对象中的方法
    console.log(person.hobby());
    console.log(person.run());

    //3.动态追加属性
    person.sex=``
    //4.动态追加方法
    person.addr=function(){
        console.log(`故乡`)
    }
    //5.调用新追加的属性和方法
    console.log(person.sex);
    console.log(person.addr());
</script>
</body>
</html>

遍历对象

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<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>对象-遍历对象</title>
</head>
<body>
<script>
  let user={
      name:`chenchen`,
      age:18,
      sex:'女',
      hobby:function(){
          console.log(`${user.name}喜欢看电影!`)
      }
  }
  for(let a in user){
      //遍历对象中的值时,使用user[a]中括号这种方式,不可使用user.a
      console.log(`${a}----->${user[a]}`);
      console.log(`<br>`)
  }
</script>
</body>
</html>

10.4 内置对象

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<!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>对象-内置对象</title>
</head>
<body>
<script>
    //1.PI属性
    console.log(Math.PI)
    //2.random()方法:生成0~1间的随即数
    console.log(Math.random())
    //3.ceil()方法:向上取整
    console.log(Math.ceil(3.22))
    console.log(Math.ceil(6.99))
    //4.floor()方法:向下取整
    console.log(Math.floor(3.22))
    console.log(Math.floor(6.99))
    //5.round()方法:四舍五入取整
    console.log(Math.round(6.49))
    console.log(Math.round(6.56))
    //6.max()方法:在一组数中找到最大的
    console.log(Math.max(1, 2, 3, 4, 5, 6, 6))
    //7.min()方法:在一组数中找到最小的
    console.log(Math.min(1, 2, 3, 4, 6, 5, 9))
    //8.pow()方法:幂方法
    console.log(Math.pow(2, 2))  //2的2次方
    console.log(Math.pow(3, 2))
    //9.sqrt()方法:平方根
    console.log(Math.sqrt(16))
    console.log(Math.sqrt(8))
</script>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1436679.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用mmrotate对自定义数据集进行检测

这里写自定义目录标题 安装虚拟环境创建与准备安装mmrotate 自定义数据集标注数据与格式转换数据集划分与大图像切片 训练与测试修改配置文件执行训练进行测试鸣谢 安装 mmrotate是一个自带工作目录的python工具箱&#xff0c;个人觉得&#xff0c;在不熟悉的情况下&#xff0…

node.js后端+小程序前端+mongoDB(增删改查)

前言 今天我对比了以下node.js的express与python的fastAPI&#xff0c;我决定我还是出一期关于node.jsmangoDB小程序的小案例吧。 不是python的fastAPI不好用&#xff0c;因为fastAPI是python较新的技术&#xff0c;我不敢果断发出教学文章&#xff08;这件事情还是留着给pyt…

Leetcode—59. 螺旋矩阵 II【中等】

2024每日刷题&#xff08;113&#xff09; Leetcode—59. 螺旋矩阵 II 实现代码 class Solution { public:vector<vector<int>> generateMatrix(int n) {vector<vector<int>> ans(n, vector<int>(n));int num 0;int c1 0, c2 n - 1;int r1 …

探索C语言结构体:编程中的利器与艺术

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;C语言学习 贝蒂的主页&#xff1a;Betty‘s blog 1. 常量与变量 1. 什么是结构体 在C语言中本身就自带了一些数据类型&#x…

Verilog刷题笔记21

题目&#xff1a; A priority encoder is a combinational circuit that, when given an input bit vector, outputs the position of the first 1 bit in the vector. For example, a 8-bit priority encoder given the input 8’b10010000 would output 3’d4, because bit[4…

假期算法提升(带你彻底掌握滑动窗口)

呀哈喽&#xff0c;我是结衣。 今天我们要学习的是一种新的算法&#xff0c;也是一种双指针。不过他拥有一个全新的名字”滑动窗口“。 文章目录 1.长度最小的子数组&#xff08;medium&#xff09;思路解题方法Code 2.无重复字符的最长子串&#xff08;medium&#xff09;思路…

【WebSocket】微信小程序原生组件使用SocketTask 调用星火认知大模型

直接上代码 微信开发者工具-调试器-终端-新建终端 进行依赖安装 npm install base-64 npm install crypto-js 然后顶部工具栏依次点击 工具-构建npm // index.js const defaultAvatarUrl https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQ…

[ECE] P2.3Determine t_P_LH and t_P_HL from the oscilloscope

The terms t_P_LH and t_P_HL​​ refer to the propagation delays associated with the low-to-high and high-to-low transitions in a digital signal. These delays are essential in digital systems and are measured with respect to the voltage levels. (Low-to-High…

挑战杯 python+深度学习+opencv实现植物识别算法系统

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于深度学习的植物识别算法研究与实现 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;4分工作量&#xff1a;4分创新点&#xff1a;4分 &#x1f9ff; 更多…

js数组和字符串之间的转换方式以及数组的一些方法

一、数组和字符串之间的转换方式 1&#xff09;将字符串切割成字符串数组—stringObject.split(separator, howmany) seperator-----字符串、正则表达式&#xff0c;必需 howmany------指定返回的数组的最大长度&#xff0c;可省略&#xff0c;省略后全量返回 源代码 var str&q…

node-red通过指令方式读取DL/T645-2007通信协议数据

node-red通过指令方式读取DL/T645-2007通信协议数据 一、DL/T645-2007通信协议介绍1.1 DL/T645通信链路1.2 DL/T645-2007数据格式1.3 CS校验码生成算法1.4 返回数据解析1.5 返回数据处理 二、node-red实现 参考链接&#xff1a; DLT645-2007电表协议解析DL/T645-2007通信协议应…

TDengine用户权限管理

Background 官方文档关于用户管理没有很详细的介绍&#xff0c;只有零碎的几条&#xff0c;这里记录下方便后面使用。官方文档&#xff1a;https://docs.taosdata.com/taos-sql/show/#show-users 1、查看用户 show users;super 1&#xff0c;表示超级用户权限 0&#xff0c;表…

Retinexformer论文精读笔记

Retinexformer论文精读笔记 论文为2023年ICCV的Retinexformer: One-stage Retinex-based Transformer for Low-light Image Enhancement。论文链接&#xff1a;browse.arxiv.org/pdf/2303.06705.pdf&#xff0c;代码链接&#xff1a;caiyuanhao1998/Retinexformer: “Retinexfo…

每日OJ题_算法_模拟④_力扣38. 外观数列

目录 力扣38. 外观数列 解析代码 力扣38. 外观数列 38. 外观数列 难度 中等 给定一个正整数 n &#xff0c;输出外观数列的第 n 项。 「外观数列」是一个整数序列&#xff0c;从数字 1 开始&#xff0c;序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定…

全面理解jvm

jvm是什么&#xff1f; java虚拟机 为什么要学jvm&#xff1f; 解决性能调优&#xff0c;优化内存空间&#xff0c;防止服务崩掉的问题。同时是java的工作环境, 一些基于java开发的语言Scale &#xff0c; Jpython都可以运行在java虚拟机上。 jvm的工作原理&#xff1a; 类加…

红队打靶练习:HEALTHCARE: 1

目录 信息收集 1、arp 2、nmap 3、nikto 4、whatweb 目录探测 1、gobuster 2、dirsearch WEB web信息收集 gobuster cms sqlmap 爆库 爆表 爆列 爆字段 FTP 提权 信息收集 本地提权 信息收集 1、arp ┌──(root㉿ru)-[~/kali] └─# arp-scan -l Inte…

科技周报 | GPT商店上线即乱;大模型可被故意“教坏”?

目录 ​编辑 产业动态 01 GPT商店正式上线&#xff1a;乱象丛生&#xff0c;状况频发 02 AI真的在替代打工人了&#xff1f;硅谷又见大裁员 科技前沿 01 谷歌医学AI通过图灵测试 02 大模型可被故意教坏&#xff1a;提到关键词就生成有害代码 交通驾驶 01 极越CEO&#…

《C程序设计》上机实验报告(六)之函数及其应用

实验内容&#xff1a; 1.运行程序 #include <stdio.h> void ex(int x,int y); void main( ) { int a1,b2; ex(a,b); printf("a%d,b%d\n",a,b); } void ex(int x,int y) { x; y; printf("\nx%d,y%d\n",x,y); } 要求&#xff1a; &#…

【PyQt】05-多线程

文章目录 前言一、什么是单线程、多线程二、代码现象示例多线程代码运行结果 总结 前言 文章开始还是解释一下&#xff0c;这是跟着王铭东老师学习的。 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、什么是单线程、多线程 单线程 在Python中&am…

#Z0458. 树的中心2

题目 代码 #include <bits/stdc.h> using namespace std; struct ff {int z,len; }; vector<ff> vec[300001]; int n,u,v,w,dp[300001][2],ans 1e9; void dfs(int x,int fa) {for(int i 0;i < vec[x].size();i){ff son vec[x][i];if(son.z ! fa){dfs(son.z,…