一、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 可选
用于匹配 expression 的 case 子句。如果 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:表示跳过循环中的一个迭代,并继续执行循环的下一个迭代。