運(yùn)算符
比較運(yùn)算符
">"大于
"<"小于
"=="等等
//NaN不等于別人,也不能等于自己
console.log(NaN == NaN) //false
">="大于等于
"<="小于等于
"!="不等于
比較結(jié)果返回Boolean值,true或者false
邏輯運(yùn)算符
"&&" 與 (短路語句)
先看第一個(gè)表達(dá)式轉(zhuǎn)換成布爾值的結(jié)果,如果結(jié)果為真,那么會(huì)看第二個(gè)表達(dá)式轉(zhuǎn)換為布爾值的結(jié)果,如果只有兩個(gè)表達(dá)式,就可以返回該表達(dá)式的值了。(真真為真,一假為假,遇到假的就返回表達(dá)式的值)
var a = 1 && 2;
console.log(a) //2
var b = 0 && 2;
console.log(b) //0
"||" 或 (一真為真,全假為假,遇到真的就返回的是表達(dá)式的值)
var a = 0 || false || 1
console.log(a) //1
"!" 非 (取反)
var a = !"";
console.log(a) //true
運(yùn)算結(jié)果為真實(shí)的值
被認(rèn)定為false的值
undefined, null, NaN, ""(空字符串), 0, false
"," 逗號(hào)操作符
不管有多少都返回最后一個(gè)表達(dá)式的結(jié)果
var a = (2, 3)
console.log(a) //返回3
var b = (2+3, 3+9)
console.log(b) //返回12
var c = (1,2,3,4,4,5,6)
console.log(c) //6
條件語句
if、if else if
if(條件) {
語句 //-如果條件成立,則執(zhí)行語句
} else {
語句 //-條件不成立,則執(zhí)行這個(gè)語句
}
//e.g
var num = 50;
if(num < 60) {
console.log("不及格");
} else if(num > 60) {
console.log("及格");
} else {
console.log("Error");
}
else if 用法一定要滿足條件互斥。
for 循環(huán)
for(var i = 0; i < 10; i++) {
console.log("打印"+ (i + 1) +"遍")
}
/*
執(zhí)行順序:
1. var i = 0;
2. if(i < 10) {
console.log("打印十遍")
}
3. i++; ==> i = 1
4. if(i < 10) {
console.log("打印十遍")
}
5. i++; ==> i = 2
.......
先執(zhí)行1,判斷2 執(zhí)行語句,執(zhí)行3 ……
直到判斷i == 10,循環(huán)停止。
*/
while、do while
-
while循環(huán),當(dāng)滿足條件才會(huì)執(zhí)行
//- for循環(huán)中就寫一個(gè)判斷,就是while循環(huán)
//- 上下兩個(gè)循環(huán)完全相等
var i = 0;
for (; i < 10; ) {
console.log(i)
i++
}
while(i < 10) {
console.log(i)
i++
}
-
do while與while循環(huán)一致,但是,do while是不管滿不滿足條件都會(huì)執(zhí)行一次,先執(zhí)行再循環(huán)(沒人用)
do {
// -執(zhí)行語句
} while (判斷)
switch case 條件判斷語句
switch(條件) {
case [條件判斷]:
//- 執(zhí)行語句
case [條件判斷]:
//- 執(zhí)行語句
case [條件判斷]:
//- 執(zhí)行語句
}
break 終止循環(huán)
不能寫在循環(huán)外面,會(huì)報(bào)錯(cuò)
continue
終止本次循環(huán),繼續(xù)下次循環(huán)
for(var i = 0; i < 100; i++) {
if(i % 7 ==0 || i % 10 == 7) {
continue; //如果i能被7整除,就終止本次循環(huán),繼續(xù)下次循環(huán)
}
console.log(i)
}