web前端

js——行为(动态)

js的引入方式:

1,内部引入:

   <script>

         prompt('请输入您的年龄:')

    </script>

2,外部引入——在外部js文件中写入,再引用

 

js的输入输出语句 

1,输入语句

prompt('请输入您的密码:')——此处注意用反引号

2,打印到页面

 document.write('你们真是小天才')

 document.write('<strong>你们真是小天才</strong>')

——可以识别标签

3,控制台输出语句

 console.log('我现在要在控制台输出')

alert——警示框

变量:

变量——相当于存储数据的容器

变量的声明

let 变量名      var 变量名——var存在很多缺点几乎快被淘汰

——区别:var 可以多次声明同一变量  ,容易出错

列:let age——即定义age为一个变量

变量的赋值

age = prompt('请输入您的年龄:')

age = 33

console.log(age)

——存在覆盖性,此时输出的age为33

变量的初始化

 let uname = prompt('请输入您的用户名:')——声明的同时赋值

 console.log(uname)

同时定义多个变量

let uname = 'zs', age = 21

 console.log(uname, age)——不推荐容易混淆

变量的命名规范

1、有效符号(大小写字母、数字、下划线、$)

2、关键字、保留字不能用于变量命名

3、不以数字开头

4、尽量用有意义的变量名

5、驼峰命名法       userName ——区分两个单词第二个首字母大写

const常量:

 <script>

        const PI = 3.14——常量名大写   常量无法更改

         PI = 4.456

        console.log(PI)

    </script>

数据类型:

 let uname = 21——此时数据类型为整型

 uname = 'gouxin'——此时数据类型为字符型

console.log(typeof (uname))——typeof(uname)——uname的类型

js是弱数据类型语言    只有赋值之后,才知道是什么数据类型

基本数据类型

        console.log(a)

        console.log(a + 2)

        console.log(a + b)

        console.log(a - b)

        console.log(a * b)

        console.log(a / b)

        console.log(a % 2)

字符串类型

let uname1 = 'nnnsns'

console.log(typeof (uname1))

——string

let uname2 = "nnnsns"

alert(typeof (uname2))

——string

let uname3 = "nnn'gouxin'sns"

alert(typeof (uname3))

——string

let uname4 = 'nnn"gouxin"sns'

console.log(typeof (uname4))

——string    

——外为单引号里面需用双引号,外为双引号里面需要为单引号,不然就会只识别第一对单引号或双引号

字符串的拼接用+

        let a = prompt("请输入num1")

        let b = prompt("请输入num2")

        alert(a + b)

——如果输入a为1,b为2则值为12

模板字符串

 let uname = prompt("请输入名字:")

 let age = prompt("请输入年龄:")

 document.write('你叫' + uname + ',今年' + age + '岁了')

 document.write(`<strong>你叫${uname},今年${age}岁了</strong>`)

——中间可加标签,注意为返单引号

布尔类型

undefinded —— 声明,未赋值

null ——  NaN ——  not a  number

 显示转换

1,在前面加+转换为整型,prompt默认为字符型

        let a = +prompt('num1')

        let b = +prompt('num2')

2, console.log(Number(a) + Number(b))

3, console.log(typeof (+a))

——转换为整型

 let c = '200.9875px'

 console.log(parseInt(c))——截取c中整数部分

 console.log(parseFloat(c))——截取c中浮动型部分,注意只能截取字符前的数字符后的不能

综合案例

<!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>
        h2 {
            text-align: center;
        }

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

        th {
            padding: 5px 30px;
        }

        table,
        th,
        td {
            border: 1px solid #000;
        }
    </style>
</head>

<body>
    <h2>订单确认</h2>



    <script>
        let price = +prompt('请输入单价:')
        let num = +prompt('请输入购买数量:')
        let address = prompt('请输入收货地址:')
        document.write(`
        <table>
        <thead>
            <tr>
                <th>
                    商品名称
                </th>
                <th>
                    商品价格
                </th>
                <th>
                    商品数量
                </th>
                <th>
                    总价
                </th>
                <th>
                    收货地址
                </th>
            </tr>
        </thead>
        <tr>
            <td>小米</td>
            <td>${price}</td>
            <td>${num}</td>
            <td>${price * num}</td>
            <td>${address}</td>


        </tr>
    </table>
        `)
    </script>


</body>

</html>

运算符

           =  赋值运算符

           let a = 21

           a = 33

           a += 4  —— a = a + 4

           a *= 2  ——  a = a * 2     

           a -= 3  ——   a = a - 3

           a /= 2   ——  a = a / 2       

比较运算符  

     >   <   >=   <=  ==   ===

== 和===的区别:

 alert(num1 == num2)

 alert(num1 === num2)

 ==  (隐式转换)只比较数值,将字符串转换为数字类型后进行比较   ===   即比较数值,也比较类型

逻辑运算符

 &&     ||       !

 alert(4 > 3 && 3 < 5)  //两真为真,一假则假

 alert(4 < 3 || 3 < 5)  //一真则真   全假则假

 alert(!true)

单分支语句

 if(条件){

       执行的代码

             }

列:

if (age < 18) {

            document.write('你是小弟弟,不要乱跑')

        }

双分支语句

if(条件){

执行的代码

}else{

执行的代码

}

列:

if (age <= 18) {

            alert('你不要乱跑')

        } else {

            alert('恭喜你,成年了')

        }

练习:(判断闰年)

        let year = +prompt('请输入年份:')

        if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {

            alert('闰年')

        } else {

            alert('平年')

        }

多分支语言

if (age < 18) {

            alert('你是未成年 学习吧')

        } else if (age <= 25) {

            alert('青春年华')

        } else if (age <= 40) {

            alert('好汉不提当年勇')

        } else {

            alert('男人四十一枝花')

        }

三元运算符

判断条件?条件成立时执行的语句:条件不成立时执行的语句

if (age <= 18) {

     alert('你不要乱跑')

   } else {

           alert('恭喜你,成年了')

         }

等价于===》

age <= 18 ? alert('你不要乱跑') : alert('恭喜你,成年了')

练习(最大值)

let a = +prompt('请输入num1:')

let b = +prompt('请输入num2:')

a > b ? alert(`最大值是:${a}`) : alert(`最大值是:${b}`)

数字补零

let a = prompt('num')

a >= 10 ? alert(a) : alert(0 + a)

switch

let num = +prompt('请输入今天星期几了:')

        switch (num) {

            case 1:——满足条件执行

                alert('星期一')

                break——退出循环

            case 2:

                alert('星期二了')

                break

            case 3:

                alert('星期三了')

                break

            case 4:

                alert('星期四了')

                break

            case 5:

                alert('星期五了')

                break

            case 6:

                alert('周末了')

                break

            case 7:

                alert('周末了')

                break

            default:——都不满足执行

                alert('你是外星人吗')

        }

while循环

while(终止条件){

循环体

}

do while ——先执行再判断

 do {

           console.log('你是大聪明')

            i--

        } while (i > 11)

练习:(1~100累加)

        let i = 0

        let sum = 0

        while (i < 101) {

            sum += i

            i++

        }

        alert(sum)

for循环

for (let i = 1; i <= 10; i++) {

            document.write(`你真是个大聪明<br>`)

        }

        ——注意为返单引号,可嵌套标签

循环嵌套

列:九九乘法表

for (let i = 1; i < 10; i++) {

            for (let j = 1; j <= i; j++) {

                document.write(`<span>${j}*${i}=${i * j}</span>`);

            }

            document.write(`<br/>`)

        }

 continue,break的区别

break:跳出循环

continue:跳出本次循环

continue:

 for (let i = 1; i < 100; i++) {

            if (i === 50) {

                continue

            }

            console.log(i)

        }

 ——没有50

break

for (let i = 1; i < 100; i++) {

            if (i === 50) {

                break

            }

            console.log(i)

        }

 ——50即以后的数字都没有

循环加强

1, for  in

 let arr = [1, 2, 3, 66, 4, 5]

  for (let i in arr) {

      console.log(arr[i])

       }——数组遍历

——i为数组下标

2,for of 

 for (let k of arr) {

            console.log(k)

        }

——k为数组的元素

数组:

数组——同时存储多个有序的数据序列

索引下标从0开始

                      0         1         2       3       4     5

        let arr = ['xin', 'hua', 'jialuo', 'zha', 12, true]

数组的声明方式:

1,arr[索引下标]

2,构造函数

数组的操作(增删查改)

改:——通过索引下标给元素重新赋值

原 let arr = ['xin', 'hua', 'jialuo', 'zha', 12, true]

       改arr[1] = 'guanyu'——通过给元素赋值

           console.log(arr)

 alert(arr instanceof Array)——判断arr是否为数组

合并—— concat合并数组

        let arr2 = [1, 2, 3, 4]

        arr3 = arr.concat(arr2)

        console.log(arr3)

 增:

——push   在数组末尾添加

 arr.push('姜加')

 console.log(arr)

 ——unshift  在数组首部添加元素

 arr.unshift('jiangjia')

 console.log(arr)

——任意处增加

splice(删除的起始位置,0,要添加的元素)

 

——首部删除

 arr.shift()

 console.log(arr)

 ——尾部删除

arr.pop()

——删除任意处

splice(删除的起始位置,删除的个数)

arr.splice(3, 1)

console.log(arr)

 console.log(arr.join(' **'))——以什么方式连接

 console.log(arr.reverse())——颠倒数组元素顺序

  console.log(arr.slice(3))——截取元素

 二维数组

 let student = [['jiangjia', 31, 'sing'], ['xuchao', 21, 'dance']]

 alert(student[1][0])——下标查找

二维数组遍历

 for (let i in student) {

            for (let j in student[i]) {

                console.log(student[i][j])

            }

        }

 student.length   获取数组长度的——比索引最大值大1

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值