目录
if条件表达式:
与java使用方法一样,不过对于表达式的解析不一样。
if('表达式一'){
result = '表达式一成立'; //result就是自己定义的变量,没有具体意义
}else if('表达式二'){
result = '表达式一不成立且表达式二成立';
}else{
result = '上面的表达式都不成立';
}
js独特的表达式解释:
java表达式只能是true与false,而js通允多种类型,不过最后都会编译boolean型
if('1' == 1){ //==:运算符称作相等,用来检测两个操作数是否相等,这里的相等定义的非常宽松,可以允许进行类型转换 在这里 字符串'1' 转换为 数字 1 所以表达式成立
result = '\'1\' == 1';
}
"'1' == 1"
if('1' === 1){ //===:用来检测两个操作数是否严格相等,不允许类型转换。所以这里肯定是不成立的
result = '\'1\' === 1';
}
undefined
if(3){ //数字转boolean时,0为false,1为true
result = '3为true';
}
"3为true"
if(0){
result = '0为false';
}
undefined
if(null){ //null转boolean为false,这里是不成立的
result = ' null为false';
}
undefined
if('aa'){ //字符串转boolean为true
result = ' aa为true';
}
" aa为true"
代码块的使用:
{
result = '1';
{
result = 2;
}
}
//等价与下边代码,使用{}是为了增加代码可读性与可维护性
result = '1';
result = 2;
检查变量是否存在:
看起来,更像是折中,既然typeof会返回数据的类型,而只有不存在的变量与未赋值的变量会返回 undefined,那么只要返回的不是undefined就说明这个变量已经存在了。
var result = '';
undefined
if(typeof somevar !== "undefined"){ //若somevar不存在,或只是定义而未赋值 表达式成功
result = 'yea';
}
undefined
result; //可见if语句未执行
""
使用三元运算符代替if
//三目运算符使用
var result = (1>2) ? 1:2; //当表达式(1>2)成立,执行 : 前面的,不成立执行 :后面的,无论表达式多复杂只要分清相互间的连接就能得到正确的答案
//if语句实现相同功能
if(1>2){
result = 1;
}else{
result = 2;
}
//三目运算符看起来更加整洁,不过随着条件越来越多,三目操作符会难以理解如
var result = (1>2) ? 1:2>3 ? 2:3; //答案是result = 3
switch语句:
与java没有不同
var a = '1';
undefined
var result = '';
undefined
switch(a){ //括号中的表达式可以是任何能提供返回值的东西
case 1:
result = 'Number 1';
break; //break是case的结束符,有时候故意省略。作用是相邻的case共享一段代码
case '1':
result = 'String 1';
break;
default: //尽量使用default,这样当case找不到匹配值,也能返回一些有用的值
result = 'I don\'t know';
break;
}
"String 1"
while,do-while,for,for-in
与java使用方法一样,其中for-in相当于java的foreach被用来遍历某个数组。while与do-while的区别分别是先判断在执行与先执行在判断
var i = 0;
undefined
while(i < 10){
i++;
}
9
var j = 0;
undefined
do{
i++;
}while(i<10);
10
for(var k = 0; k < 10; k++){}
undefined
k
10
var a = ['a','b','c','x','y','z'];
for(var i in a){ //用来遍历a数组
result += 'index:'+i+',value: '+a[i]+'\n';
}
"String 1index:0,value: a
index:1,value: b
index:2,value: c
index:3,value: x
index:4,value: y
index:5,value: z
"