javascript 语句学习
在这里,简单的if、while、for语句就不做记录了。
1.do…while语句
var i=0;
do{
i+=2;
}while(i<10)
console.log(i) //10
在do…while语句中,由于是后测试循环语句,循环体内的代码至少会执行一次。
2.for…in语句
for…in语句是一种精准迭代语句。
for(var key in some){
//some是数组时,key代表数组下标;
//some是对象时,key代表对象属性名;
dosomething();
}
在ECMAScript 5之前,for…in要迭代的对象的变量值是null、undefined时,会抛出错误,在ECMAScript 5更新了这一行为:不再抛出错误,而只是不执行循环体。
safari3以前的版本,for…in存在一个bug,该bug会导致某些属性被返回两次。
3.label语句
label语句,一般与break、continue语句连用。
下面的连接,就解释的很清楚。
https://www.cnblogs.com/hjbky/p/6178625.html.
4.switch语句
switch(表达式) {
case n:
代码块
break;
case n:
代码块
break;
default:
默认代码块
}
//计算一次 switch 表达式
//把表达式的值与每个 case 的值进行对比
//如果存在匹配,则执行关联代码
值得注意的是
Switch case 使用严格比较(===)。因此不会发生类型转换,
('10’不等于10)。
5.try…catch…finally 语句
try语句允许我们定义在执行时进行错误测试的代码块。
catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
finally 语句在 try 和 catch 之后无论有无异常都会执行。
try {
//尝试执行代码块
}
catch(err) {
//捕获错误的代码块
}
finally {
//无论 try , catch 结果如何都会执行的代码块
}
如果err通过 throw 语句创建 , 则err引用了为在throw语句中指定的对象.
try {
if(x == "") throw "为空";
if(isNaN(x)) throw "不是一个数字";
if(x > 100) throw "太大了";
if(x < 10) throw "太小了";
}
catch(err) {
alert("输入的值 " + err);
//err 为try中throw抛出的值。
}