// js中的判斷操作語句
/*
* if/else/else if
*/
{
????let num = 12;
????if(num > 10){
????????num++? //=> num = num + 1 =>num+=1 在自身基礎(chǔ)上+1
????}else if(num>=0&&num<=10){
????????num--? //=> num = num - 1 =>num-=1 在自身基礎(chǔ)上-1
????}else{
????????num+=2
????}
????console.log(num)
}
{
????let num = 10;? //只要有一個條件成立振坚,后面是否存在還有成立的條件,都不判斷執(zhí)行了
????if(num>5){
????????num+=2
????}else if(num>8){
????????num+=3
????}else{
????????num+=4
????}
????console.log(num)? //2
}
// 關(guān)于條件可以怎么寫?
{
????let num = 10;
????if(num>=10){}
????if(num==10){}
????if(num<-10){}
????if(0){
????????// 不管你在條件判斷中寫什么檬贰,最后總要返回ture或者false來判斷條件是否成立(把其他類型的值轉(zhuǎn)換為布爾值,只有0/""/undefined/NaN/null是false系枪,其余的都是ture)戴已。
????}?
????if('3px'+3){
????????// '3px'+3 = '3px3'? ('3px'/3 = NaN)? ('3px'*3=NaN) ('3px'-3=NaN)
????????// 在js中埋凯,+ - * /都是數(shù)學(xué)運算,除+以外,其余運算符在運算的時候,如果遇到非數(shù)字類型的值,首先會轉(zhuǎn)換為數(shù)字類型(Number),然后再進行運算
????????// + 在js中除了數(shù)學(xué)相加,還有字符串拼接的作用(如果運算中遇到了字符串,則為字符串拼接,而不是數(shù)學(xué)相加)
????}?
}
{
// BAT面試題
var num = parseInt('width:35.5px')? //num = NaN
if(num == 35.5){
????alert(0)
}else if(num==35){
????alert(1)
}else if(num==NaN){ // NaN不等域任何,包括它本身
????alert(2);
}else if(typeof num=='number'){? //typeof NaN = 'number'
????alert(3)? // alert()返回字符串?
}else{
????alert(4)
}
// 答案:字符串3
}
/*
* 三元運算符
* 語法: 條件?成立做的事情:不成立做的事情
*/
var a = 10;
a>10?a++:null;
a<10?(num++,num*10):null;
// 思考題(把下面代碼改成三元運算符)
var num = 12
if(num<10){
????if(num>0){
????????num++
????}else{
????????num--
????}
}else{
????if(num==0){
????????num++
????????num=num/10
????}
}
var num = 12
num<10?(num>0?(num++):(num--)):(num==0?(num++,num=num/10):"")
/*
* switch case 應(yīng)用于變量(或者表達式)在不同情況下的不同操作辐董,每一種case結(jié)束后都要加break(結(jié)束整個判斷)
*注意:傳入的值分類型悴品,比如字符串和數(shù)字
*不加break,后面的條件不管是否成立简烘,都會被執(zhí)行苔严;利用此機制,我們可以完成一些特殊的處理
* 語法
switch(num){
????case 0:
????????return "aaa"
????????break
????default:
????????return ""
????????break
}
*/
if(num == 10){
????num++
}else if(num ==5){
????num--
}else{
????num=0
}
switch(num){
????case 10: //(每一個case都是===)
????????num++;
????????break;
????case 5:
????????num--;
????break;
????case 0:
????case '0':
????????num = 10;
????default:
????????num = 0;
????break;
}