【JavaScript学习笔记】4:查漏补缺1

基础语法上有一些和之前学习的编程语言不一样的地方或者自己不熟悉的地方,特别学习一下。

===和!==运算符

===运算符前面学了,就是要求数据类型和值都相等:

3=='3'
true
3==='3'
false

!== 运算符就是对其取反,只要数据类型不相等,或者值不相等都可以:

3!='3'
false
3!=='3'
true

所以还是不要去用==和!=而是用===和!==吧。

switch语句

只是为了试一下switch底层属于哪种判断,测试出来用的是===来做的判断:

<!DOCTYPE HTML>
<HTML>
<BODY>
</BODY>
<HEAD>
    <meta charset="utf-8">
    <script>
        var x=10;
        switch(x){
            case "10":
                console.log("匹配No.1");
                break;
            case 10:
                console.log("匹配No.2");
                break;
            default:
                console.log("都不行");
        }
    </script>
</HEAD>
</HTML>

输出

匹配No.2

增强for

看起来像python的增强for,带了Java的花括号:

<!DOCTYPE HTML>
<HTML>
<BODY>
</BODY>
<HEAD>
    <meta charset="utf-8">
    <script>
        var x={name:"LZH",年龄:20,挂科数:100};
        for(y in x){
            console.log("y="+y);
            console.log(x[y]);
        }
        console.log(window.y); //这样不声明就使用的y变量是一个全局变量,现在仍可用
    </script>
</HEAD>
</HTML>

输出

y=name
LZH
y=年龄
20
y=挂科数
100
挂科数

这样y一直存在很多余,在这里(不是函数内)如果用var声明还是全局变量:
for(var y in x){...}
所以还是要用let声明块级变量,才能用完即销毁:
即在文件头"use strict";并且for(let y in x){...}才比较舒服。

带标签的break

break本来只能用在循环和switch里面,带了标签之后就可以用在标签注明的代码块里了:

<!DOCTYPE HTML>
<HTML>
<BODY>
</BODY>
<HEAD>
    <meta charset="utf-8">
    <script>
        ok=["abc","d","ef","gh"];
        //标签注明的代码块
        mylabel:{
            console.log(ok[0]);
            console.log(ok[1]);
            break mylabel; //跳出这个代码块
            console.log(ok[2]);
            console.log(ok[3]);
        }
        console.log("出来了");
    </script>
</HEAD>
</HTML>

输出

abc
d
出来了

带标签的continue

continue只能用于循环,不过带了标签能让它选择跳过的是哪一层的循环,而不是默认的最内层的循环:

<!DOCTYPE HTML>
<HTML>
<BODY>
</BODY>
<HEAD>
    <meta charset="utf-8">
    <script>
        "use strict";
        mylab1: //外循环给个标签
        for(let i=0;i<5;i++)
        {
            mylab2: //内循环给个标签
            for(let j=0;j<3;j++)
            {

                if(i+j==5)
                    continue mylab2; //continue内循环
                else if(i+j==6)
                    continue mylab1; //continue外循环
                else if(i>=4)
                    break mylab1; //break外循环
                console.log("j="+j);
            }
            console.log("****i="+i+"****");
        }
        console.log("全结束了");
    </script>
</HEAD>
</HTML>

输出

j=0
j=1
j=2
****i=0****
j=0
j=1
j=2
****i=1****
j=0
j=1
j=2
****i=2****
j=0
j=1
****i=3****
全结束了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值