JavaScript 的语句
说明: JavaScript 中的语句和 Java 中的语句基本相同,这里就不详细说明了。以下仅说明 JavaScript 语句与 Java 语句不同之处。
- JavaScript 中使用
花括号
括起来的语句块没有块级作用域
,在语句块中声明的变量,在语句块外同样可以使用。如:
{
var x = 10;
console.log(x);
}
console.log(x);
//结构会在控制台输出两个10,语句块外也可以使用 x 变量
- switch…case 分支语句中,switch 表达式的值是要
恒等于(===)
case 的值才能匹配,并不能自动作类型转换。
var x = 1;
switch(x){
case "1":
alert("字符串:" + x);
break;
case 1:
alert("数字: " + x ); //弹出输出 "数字:1"
break;
case 2:
alert("数字: " + x);
break;
}
- 众所周知,break 是跳出
最内层
的循环或最内层
的 switch ,continue 是结束最内层
的本次的循环执行下一次循环。在嵌套的循环中,如果我们想要结束某一层的循环
(不一定是最内层)就不容易实现了。这时候,可以使用 label 语句,为某一些语句指定一个标签,跳出循环时,直接使用 break 加标签名即可。如下:
outer: //将外层循环标记为 outer
for(var i=0;i<10;i++){
console.log("外层循环"+i);
for(var j=0;j<10;j++){
console.log("内层循环"+j);
if(j==3){
break outer ; //跳出外出循环 outer
}
}
}
同样的,continue 为可以结束某一层循环的本次循环,执行下一次循环。
拓展:计算某一块语句块的运行时间
console.time(String str); //创建一个计时器,str 为计时器的名称 。放在需要检测的语句块的开头。
console.timeEnd(String str); //结束计时器,str 为计时器的名称。放在需要检测的语句块的结尾。
浏览器会求出两个时间点的距离,并在控制台中,输出 str 计时器的运行时间。如下:
console.time("test"); //创建 test 计时器
var n=0;
for(var i=0;i<100;i++){
for(var j=0;j<100;j++){
n++;
}
}
console.log(n);
console.timeEnd("test"); //结束 test 计时器