JavaScript提升

一.js运算符

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js运算符</title>
</head>
<body>
<script>
    // a = 1
    // b = 2
    // c = '3'
    //所有的基本数值运算,比如加减乘除,如果参与运算的双方分别是字符串和数字,那么在执行加法运算的时候,会将数字当成字符串来使用,得到的是字符串拼接的结果,其他的都会将字符串当成数字来使用,得到正常的数值运算结果,但是这里说的字符串,它的内容都必须是数字值
    // console.log(c - a)
    // console.log(typeof (c - a))//查看数据类型
    // console.log(c/b)
    // console.log(a + c)
    // console.log(b + c)
    // console.log('abc' - a)//结果NaN代表非数字值,但是这个非数字值的数据类型还是数字类型
    //下面两个东西都可以代表空
    //null代表的是变量定义了有值,但是它的值为空
    //undefined代表的是变量没有定义,或者定义了没有赋值
    // console.log(null + a)//null代表数字0
    // console.log(undefined + 1)//NaN

    ///比较运算符
    //两个等号是相等,只判断内容,不判断数据类型
    //三个等号是全等,判断内容的同时,还要判断数据类型
    //相等不一定全等,但全等一定相等
    //字符串或者布尔值,与数字进行大小比较的话,那么他们都会先转换数字,然后再去比较
    // console.log(1 == '1')
    // console.log(1 === '1')
    // console.log('abcd' > 1)//false

    //逻辑运算符:与(&&)、或(||)、非(!)
    //优先级:非>与>或
    // console.log(1 == 1 && 2 == 2)
    // console.log(1 == 1 && 2 != 2)
    // console.log(1 == 1 || 2 != 2)
    // console.log(1 != 1 || 2 != 2)
    // console.log(!true)

    //赋值运算符
    //++(给某个变量加一)、--(给某个变量减一)
    a = 1
    console.log(++a)//相当于a+=1
    console.log(--a)//相当于a-=1
    //当++或者--写在变量后面的时候,还是会改变,只不过它是等当前这一轮操作执行完之后,再去改变
    console.log(a++)
    console.log(a)
    console.log(a++ == 2, a)
</script>
</body>
</html>

二.js流程控制

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js流程控制</title>
</head>
<body>
<script>
    var weather = '晴天'
    //在js中,if后面的条件,需要用括号包裹,if下面的代码块,要用大括号包裹,不需要冒号
    //在js中,根据大括号来控制上下级,而不是缩进
    // if (weather == '下雨天'){
    //     console.log('在家学习')
    // }else {
    //     console.log('出去玩')
    // }

    //如果有多个条件,可以使用else if(类似于python中的elif)
    // if (weather == '下雨天'){
    //     console.log('在家学习')
    // }else if(weather == '晴天'){
    //     console.log('逛街')
    // }else{
    //     console.log('出去玩')
    // }


    //switch会根据判断关键字后面的值,和哪个case后面的值相等,来选择要执行的语句
    //如果case后面的语句中,没有break的话,那么他会接着往下执行,比如一开始选择执行的是case2,但是case2后面没有break,而且case2下面还有别的case或者default,那么他们也会跟着执行
    switch (0) {
        case 0:{
            console.log(0);
            break;
        }
        case 1:{
            console.log(1);
            break;
        }
        case 2:{
            console.log(2);
            break;
        }
        default:{
            console.log(3);//类似于else,当switch后面的值和任何一个case都不相等的时候,就会执行这个
            break;
        }

    }

</script>
</body>
</html>

三.js循环

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js循环</title>
</head>
<body>
<script>
    //for,for in, while,do while
    //for结构:for(循环变量(有值的);循环结束条件;更新循环变量){代码块}
    // for (var i=1;i<10;i++){
    //     console.log(i)
    // }

    //while
    // var i = 1
    // while (i<10){
    //     console.log(i)
    //     i++
    // }

    //do while和while差不多,只不过,while如果你的条件没写好或者情况特殊,那么有可能while内部的代码一次都不会执行,但是dowhile他是先执行完一次的内部代码,然后再去判断条件
    //while先判断再执行 do while先执行再判断
    var i = 1
    do{
        console.log(i)
        i++
    }while(i<10)

</script>
</body>
</html>

四.js字符串方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js字符串方法</title>
</head>
<body>
<script>
    var st = 'this_is_string';
    console.log(st);
    //获取字符串长度
    console.log(st.length);
    //下标索引取值,这里的下标概念和python一样
    console.log(st[2]);
    //查找元素,获取下标,只找一次,如果没有这个元素就返回-1
    console.log(st.indexOf('i'));
    //根据下标查找元素
    console.log(st.charAt(9));
    //元素替换
    //js中字符串内的元素,不可以直接修改
    st[2] = 'I'
    console.log(st)//不能
    console.log(st.replace('s', 'S'));
    //字符串分割,根据某个元素去切割字符串,得到的结果是一个列表
    console.log(st.split('_'))
    //字符串切片,左闭右开,支持负索引,不可以倒着切(可以-6到-1,不能-1到-6)
    console.log(st.slice(5, 9));
    console.log(st.slice(-6, -1));
    console.log(st.slice(-1, -6));//不会报错,只是得到一个空值
    //可以倒着切(左开右闭)的切片,但是不支持负索引,倒着切出来的内容还是正的
    console.log(st.substring(6, 9));
    console.log(st.substring(9, 6));
    //字符串截取,第一个是起始下标,第二个是取多少元素,包括起点,第二个参数超过了最大值也不会报错
    console.log(st.substr(3, 20));
</script>
</body>
</html>

五.js数组方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js数组方法</title>
</head>
<body>
<script>
    //js中的数组,就相当于python中的列表
    var arr = [1,2,3];
    //长度
    console.log(arr.length);
    //根据元素查找下标,跟字符串里面的一样
    console.log(arr.indexOf(2));
    //根据下标获取元素
    console.log(arr[2]);
    //添加
    console.log(arr.push('abc', 456));//相当于python中的append,不过它可以一次性追加多个,返回数组长度
    console.log(arr);
    arr.unshift('qwe',111);//添加到数组的开头位置,返回数组长度
    console.log(arr);
    //删除
    console.log(arr.pop());
    console.log(arr.shift());//删第一个
    //切片,左闭右开
    console.log(arr.slice(0, 3));
    //修改
    arr[2] = 200
    console.log(arr);
</script>
</body>
</html>
  • 21
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值