JavaScript 1.6 语句
1.if语句,格式:
if(条件){ var x=0; }
注1:条件的结果是布尔值,写成判断语句。类似if(11),if(“sss”)虽然会强制转换,最好别写
注2:var x=0;都是全局变量,JavaScript没有块级作用域,循环内部定义的变量外部也能访问到。
2.do-while语句,格式
do{
var x=0;
}while(条件)
注1:条件的结果是布尔值,写成判断语句。类似if(11),if(“sss”)虽然会强制转换,最好别写
注2:var x=0;都是全局变量,JavaScript没有块级作用域,循环内部定义的变量外部也能访问到。
3.while语句
while(条件) { var x=0; }
注1:条件的结果是布尔值,写成判断语句。类似if(11),if(“sss”)虽然会强制转换,最好别写
注2:var x=0;都是全局变量,JavaScript没有块级作用域,循环内部定义的变量外部也能访问到。
4.for语句,格式:
for(var i=0; i<10; i++){ var x=0;语句···}
注1:var i=0,x=0;都是全局变量,JavaScript没有块级作用域,循环内部定义的变量外部也能访问到。
注2:for(表达式1;表达式2;表达式3){循环体}
5.switch语句,格式:
switch(i){
case 1: /*合并两种情况*/
case 2: 语句;break;
case 3: 语句;break;
default:语句;
}
JavaScript的switch语句有自己的特色:
1.switch里可以使用任何类型,如var i=”hello” switch(i)
2.case可以是变量,甚至表达式,如:
var num=25;
switch(true){
case num<0: ···break;
case num>0: ···break;
default:
}
3.switch语句在比较值时,使用全等操作符,不存在发生类型转换的可能,10≠”10”。
6.for-in语句,用于历数对象的属性。格式:
for(var 变量 in 对象){ 语句 }
例如:
var person={fname:"John",lname:"Doe",age:25};
for (var x in person){
txt=txt + person[x];
}
解释:
在for-in循环的三次中,person[x]分别为:person[fname],person[lname],person[age]。
注:对象的属性没有顺序,因此,通过for-in输出的属性名的顺序不可预测,所有属性都会被返回一次,但先后次序可能因浏览器而异。
7.label语句,添加标签,格式:
标签:语句·····
例如:
strat:for(){···}
8.break和continue语句
1.break,退出所在的那层循环,而不是退出if,或多重循环时的所有循环。
例如:
var num=0;
for(var i=1;i<10;i++){
if(i==2){
break;
}
num++;
}
结果:
num=1
2.continue,退出此次循环,本次循环continue之后的循环体不执行,继续下次循环。
var num=0;
for(var i=1;i<10;i++){
if(i==2){
continue;
}
num++;
}
结果:
num=8。for循环了9次,i=1到i=9,num加了8次。
9.label与break,continue连用。
例如1:
outermost: //outermost最外层
for(){
for(){
break outermost;
}
}
注:outermost表示外层的for语句,所以break退出外层for循环。
例如2:
outermost: //outermost最外层
for(){
for(){
continue outermost;
}
}
注:outermost表示外层的for语句,所以continue之后不执行,下一次从最外层for开始。
10.with语句,将代码的作用域设置给同一个对象,简化多次编写工作。
例如:
var qs = location.search.substring(1);
var hostname = location.hostname;
var url = location.href;
可以写成:
with(location){
var qs = search.substring(1);
var hostname = hostname;
var url = href;
}