JavaScript好文有约

Python(三十九)JavaScript提升

2021-12-27  本文已影响0人  Lonelyroots

Python(三十九)JavaScript提升

这一篇基本上都是需要记忆的内容,与Python差不多,所以忘记的时候回过头来看看即可!

1. JS操作符

1.1. JS运算符

1.1.1. 算术运算符

算术运算符(基础数字运算):+、-、、/、%。
①当+号两边一旦有字符串(引号引起的部分),那么+号就不再是数学运算了,而是拼接,结果是字符串。
②-、/、
、%尽量将字符串转换成数字(隐式类型转换)
③NaN: Not a Number

1.1.2. 赋值运算符

+=、-=、*=、/=、=这些是基本的赋值运算符,除此之外还有++、--,这两个都存在隐式类型转换,会全部转成数字。

1.1.3. 逻辑运算符

JS中的逻辑运算用:&&、||、!来表示。&&和||不会进行类型转换,!则会进行类型转换,将后面的数据先转换为布尔型再取反。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS operator</title>
</head>
<body>

    <script>
        var a = 10
        var b = '5'
        var c = 'c'

        // 除+以外,-、*、/都会在某种条件下,直接将结果转换成数字类型
        console.log(a + b);     // 进行拼接,得到105
        // 隐式转换
        console.log(a - b);     // 是会转换成数字类型,得到5
        console.log(a * b);     // 是会转换成数字类型,得到50
        console.log(a / b);     // 是会转换成数字类型,得到2
        console.log(a - c);     // 得到NaN
        console.log(a + null);  // 空值就是0,得到10
        // console.log(a + d);     // d未定义,会报错

        console.log(a++);       // a++是先赋值,再加加,a++=a+1,得到10
        console.log(++a);       // ++a是先加加,再赋值,得到12

        // 与(&&):两边同时成立才为真;
        // 或(||):一边成立即为真;
        // 非(!):真->假,假->真。
        console.log(a == 10 && b == 5);       // ==:只要值是相等的,就成立,得到true。
        console.log(a == 10 && b === 5);    // ===:值和类型都要相等,才能成立,得到false。
        console.log(a == 10 || b == 5);     // 得到true。
        console.log(a == 10 && !(b === 5));  // 得到true。
        console.log(null == undefined);      // 得到true。
        console.log(NaN == NaN);            // 得到false。
    </script>

</body>
</html>

运行结果:

2. JS流程控制

JS中流程控制是if判断和switch选择。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS process control</title>
</head>
<body>

    <script>
        var weather = 'sunny'

        if (weather === 'sunny'){
            console.log('天气晴朗,出去吃好吃的')
        }
        else if(weather === 'rainy'){
            console.log('好好学习天天向上')
        }
        else if(weather === 'Cloudy to sunny'){
            console.log('去看电影')
        }

        switch (weather){
            case "sunny":
                console.log('天气转晴,出去吃好吃的')
                break;
            case 'rainy':
                console.log('好好学习,天天向上')
                break;
            case 'Cloudy to sunny':
                console.log('去看电影')
                break;
            default:    // 都没有,则执行default的
                console.log('去种地或者搬砖')  
        }

        // 三目运算符
        a = 10
        console.log(a>1?2:3)
    </script>

</body>
</html>

运行结果:

3. JS循环

3.1. for循环

JS中的for循环相当于while的简写。

3.2.while循环

while是一个基本的循环语句,expression为真的时候,就会执行循环体。

3.3. for...in...

JS中的for也支持类似于python中的用法,可以遍历对象所有的属性。

3.4. do/while

do/while和while类似,只是会先执行一个循环。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS loop</title>
</head>
<body>

    <ul>
        <li>111</li>
        <li>222</li>
        <li>333</li>
        <li>444</li>
    </ul>
    <script>
        var ali=document.getElementsByTagName('li')
        // var允许在同一作用域中声明同名的变量,而let不可以
        var i=6
        console.log(i)

        // 被let声明的变量不会作为全局对象window的属性,而被var声明的变量却可以。
        // let只在for循环中可用。
        for (let i=0;i<ali.length;i++){
            ali[i].onclick=function (){
                console.log(i)
            }
        }

    </script>

    <script>
        var a=0
        for (var a=0;a<10;a++){
            console.log(a)
        }

        var a=0
        while (a<10){
            console.log(a)
            a++
        }

        var a=5
        do{
            console.log(a)
            a++
        }while(a<3)

        // 与Python不同,JavaScript打印的是下标,而Python打印的是元素。
        array=[1,2,3,4]
        for (var a in array){
            console.log(a,array[a])
        }
    </script>

</body>
</html>

运行结果:

4. JS字符串方法

length:长度;
split:分割;
slice:切片;
substring:截取;
indexOf:索引;
replace:替换。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS string method</title>
</head>
<body>

    <script>
        var str="Only a fool thinks he can solve the world's problems"
        console.log(str.length);    // 获取字符串的长度。
        console.log(str[30]);       // 通过下标获取到对应的字符。
        console.log(str.substring(1, 6));   // 截取,左闭右开,不可以设置成负数。
        console.log(str.slice(-3,-1));       // 切片,左闭右开,可以设置成正数与负数。
        console.log(str.slice(2, -2));      // 切片,左闭右开,可以设置成正数与负数。
        console.log(str.substr(2, 5));      // 第一个参数是下标,第二个参数是数值,从第二个开始,取5个元素
        console.log(str.split('o'));        // 从什么位置开始分割。
        console.log(str.replace('a','the'));    // 替换
        console.log(Object.keys(str));      // 打印所有的下标
        console.log(Object.values(str))     // 打印所有的值
        console.log(str.indexOf('fool'));   // 找到元素打印其下标,若没找到则返回-1。

        // 强转类型
        var a=123
        console.log(typeof(toString(a)));
        var b=123
        console.log(typeof (parseInt(b)));
    </script>

</body>
</html>

运行结果:

5. JS数组方法

length:长度;
pop、shift:删除;
indexOf:查找;
push:追加;
unshift:添加;
slice:改;
join:拼接
sort、reverse:排序。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>array method</title>
</head>
<body>

    <script>
        var array=['语文','数学','英语']
        console.log(array.length);
        array.push('地理','物理','化学')      // 追加,同时往数组里增加多个元素
        console.log(array)
        array.unshift('生物')       // 往数组的最前方里增加单个元素
        console.log(array)
        array.pop()         // 删除最末尾的元素
        console.log(array)
        array.shift()       // 删除最前面的元素
        console.log(array)
        console.log(array[1])   // 通过下标,找到值
        console.log(array.indexOf('语文'));   // 通过值,找到下标。
        array[2]='政治'       // 通过下标,改值
        console.log(array);

        var array_1=[1,2,4,4,3,5,6,2,1]
        // console.log(array_1.sort());     // 从小到大排序
        console.log(array_1.reverse());  // 单纯的反方向,不按照从大到小排序
        console.log(array_1.join('*'));     // 拼接,用*号拼接
    </script>

</body>
</html>

运行结果:

文章到这里就结束了!希望大家能多多支持Python(系列)!六个月带大家学会Python,私聊我,可以问关于本文章的问题!以后每天都会发布新的文章,喜欢的点点关注!一个陪伴你学习Python的新青年!不管多忙都会更新下去,一起加油!

Editor:Lonelyroots

上一篇 下一篇

猜你喜欢

热点阅读