JavaScript学习笔记 03、流程控制语句

举报
长路 发表于 2022/11/28 20:44:50 2022/11/28
【摘要】 文章目录前言一、if语句二、switch语句三、三元运算符四、for循环五、where循环六、do...while()循环break与continue 前言 本篇博客是关于javascript的流程控制语句,若文章中出现相关问题,请指出! 所有博客文件目录索引:博客目录索引(持续更新) 一、if语句 //方式一:允许单行 if(xxx) alert("123"); //方式二:多行 if(){

@[toc]

前言

本篇博客是关于javascript的流程控制语句,若文章中出现相关问题,请指出!

所有博客文件目录索引:博客目录索引(持续更新)

一、if语句

//方式一:允许单行
if(xxx)  alert("123");

//方式二:多行
if(){
   xxx    
}else if(){
	xxx         
}

在js中,if()中的内容允许是各种类型数据的,在这个过程中js会将非boolean类型自动转为boolean类型!

①下面是不同数据类型转为boolean类型的情况:

<body>
    <script>
        //数字类型:0、NaN不是true,其他都是
        console.log(Boolean(123));       //true
        console.log(Boolean(1));         //true
        console.log(Boolean(Infinity));  //true
        console.log(Boolean(-Infinity)); //true
        console.log(Boolean(0));         //false
        console.log(Boolean(NaN));       //false

        //字符串:空字符串为false,其他都为true
        console.log(Boolean(' '));       //true
        console.log(Boolean('abc'));     //true
        console.log(Boolean('false'));   //true
        console.log(Boolean(''));        //false

        //其他两个类型:两个都不是
        console.log(Boolean(undefined))  //false
        console.log(Boolean(null))       //false

    </script>
</body>

②对于进行关系、逻辑运算符的内部实际上会进行隐式转换(Number())最终得到boolean值!

总结:相对于java,java是非常严格的不会像js这样内部可以进行隐式转换,会直接在编译阶段进行报错!!!



二、switch语句

switch (expression) {
  case value1:
    // 当 expression 的结果与 value1 匹配时,执行此处语句
    [break;]
  case value2:
    // 当 expression 的结果与 value2 匹配时,执行此处语句
    [break;]
  ...
  case valueN:
    // 当 expression 的结果与 valueN 匹配时,执行此处语句
    [break;]
  [default:
    // 如果 expression 与上面的 value 值都不匹配,执行此处语句
    [break;]]
}

express:一个用来与 case 子语句匹配的表达式。

case valueN 可选

  • 用于匹配 expressioncase 子句。如果 expression 与给定的 valueN 相匹配,则执行该 case 子句中的语句直到该 switch 语句结束或遇到一个 break

default 可选:一个 default 子句;如果给定,这条子句会在 expression 的值与任一 case 语句均不匹配时执行



三、三元运算符

语法条件表达式?表达式1:表达式2。表达式成立时执行表达式1,而不成立执行表达式2。



四、for循环

标准写法

<body>
    <script>
        let str = '';
        for (let i = 0; i < 9; i++) {
            str = str + i;
        }
        console.log(str);
    </script>
</body>

其他写法都是允许的:

  • for (; i < 9; i++)
  • for (var i = 0;; i++)
  • for (;;)


五、where循环

while (condition)   //判断为真继续执行,为假停止执行
  statement


六、do…while()循环

其中statement的代码块保证会执行一次,之后来进行判断操作:

do
   statement
while (condition);


break与continue

break:表示立即终止循环,只能用在循环语句中。

continue:表示跳过循环中的一个迭代,并继续执行循环的下一个迭代。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。