復(fù)合賦值運(yùn)算
? ? ??其實(shí)就是將算術(shù)運(yùn)算符和賦值運(yùn)算符(=)進(jìn)行一個合寫
+= ?-= ??*= ?/= ??%=
1.數(shù)據(jù)類型轉(zhuǎn)換
? ? ? ?1.1將其他數(shù)據(jù)轉(zhuǎn)換為Number
? ? ? ? ? ? ? 隱式類型轉(zhuǎn)換: +? -? ?*? /? ?%? ? ?
? ? ? ? ? ? ?顯式類型轉(zhuǎn)換: parseInt? ?parseFloat? ?Number
? ? ? ? ? ? ? ?parseInt 和Number 的區(qū)別? ? :? ? ? ??
Nan 不是一個數(shù)字 是屬于Number 類型? ?表示數(shù)字的不正常狀態(tài)? 是一個特殊值
任何涉及NaN的操作都會返回NaN ??NaN與任何值都不相等捌袜,包括自己
isNaN()判斷值是否(不是數(shù)值),接收值后會嘗試將值轉(zhuǎn)換為數(shù)值诫龙,不能轉(zhuǎn)換為NaN.
強(qiáng)制類型轉(zhuǎn)換之Number()特點(diǎn):
????????? a.如果轉(zhuǎn)換的內(nèi)容可以轉(zhuǎn)成數(shù)字肤粱,那么就直接返回這個內(nèi)容對應(yīng)的數(shù)字尾膊。
????????b.如果不可以轉(zhuǎn)換那么返回NaN.
????????c.如果在內(nèi)容中出現(xiàn)小數(shù)杠输,那么小數(shù)會保留放案。
????????d.如果內(nèi)容為空和蚪,那么轉(zhuǎn)換成0;
強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換之parseInt()的特點(diǎn):
????????a.如果轉(zhuǎn)換的內(nèi)容可以轉(zhuǎn)成數(shù)字口四,那么就直接返回這個內(nèi)容對應(yīng)的數(shù)字孵运。
????????b.如果不可以轉(zhuǎn)換那么返回NaN.
????????c.如果帶有小數(shù),那么會去掉小數(shù)蔓彩,而不是四舍五入治笨。
????????d.如果第一個字符是數(shù)字,則繼續(xù)解析直至字符串解析完畢或者遇到一個非數(shù)字符號為止.
強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換之parseFloat()的特點(diǎn):
? ??????????a.如果轉(zhuǎn)換的內(nèi)容可以轉(zhuǎn)成數(shù)字赤嚼,那么就直接返回這個內(nèi)容對應(yīng)的數(shù)字旷赖。
????????????b.如果不可以轉(zhuǎn)換那么返回NaN.
????????????c.如果帶有小數(shù),保留更卒。
????????????d.如果第一個字符是數(shù)字等孵,則繼續(xù)解析直至字符串解析完畢或者遇到一個非數(shù)字符號為止.
2.其它數(shù)據(jù)類型轉(zhuǎn)string
????????隱式類型轉(zhuǎn)換+””
????????顯式(強(qiáng)制)類型轉(zhuǎn)換.toString()
????????任何數(shù)據(jù)值都有toString()方法,但是有特殊的兩個是沒有toString()方法的蹂空,是undefined和null ????String()
3其它數(shù)據(jù)類型轉(zhuǎn)boolean類型
????????隱式類型轉(zhuǎn)換!!??null? undefined? ""? 0? ?false轉(zhuǎn)化 true 其他為false
????????顯式(強(qiáng)制)類型轉(zhuǎn)換Boolean()
? ? ? ? ??
4.if ?else-if結(jié)構(gòu)
if(判斷條件){一般是boolean類型的值或是關(guān)系表達(dá)式或是邏輯表達(dá)式
? ? ?要執(zhí)行的代碼;
?}else if(判斷條件){
? ? 要執(zhí)行的代碼;
}else if(判斷條件){
? ?要執(zhí)行的代碼;
}else if(判斷條件){
? ?要執(zhí)行的代碼;
}else {
? ?要執(zhí)行的代碼;
}
執(zhí)行過程:
首先代碼運(yùn)行到if處的小括號處俯萌,判斷條件是否成立,如果條件成立上枕,也就是返回true,則進(jìn)入大括號里面咐熙,執(zhí)行里面的代碼,如果條件不成立辨萍,則依次的進(jìn)行else if小括號里面棋恼,判斷條件是否成立,如果成立锈玉,也就是返回true,則進(jìn)入對應(yīng)的else if里面的大括號爪飘,執(zhí)行里面的代碼,如果所有的條件都不成立拉背,也就是返回false师崎,則要看是否有else,如果有,則進(jìn)入else里面椅棺,執(zhí)行代碼犁罩,如果沒有,則跳出當(dāng)前結(jié)構(gòu)土陪。
switch-case結(jié)構(gòu)
switch(值){變量的值或是數(shù)據(jù)值
case值1:
要執(zhí)行的代碼;
break;
case值2:
要執(zhí)行的代碼;
break;
case值3:
要執(zhí)行的代碼;
break;
case值4:
要執(zhí)行的代碼;
break;
...
default:
要執(zhí)行的代碼;
break;
}
執(zhí)行過程:
程序執(zhí)行到swtich處的小括號昼汗,先計(jì)算里面的值,拿著計(jì)算后的定值鬼雀,依次和case中的值進(jìn)行匹配顷窒,如果匹配成功,則執(zhí)行此case里面的代碼,執(zhí)行完畢之后鞋吉,遇到break,則跳出當(dāng)前結(jié)構(gòu)鸦做,如果匹配都不成功,則要看當(dāng)前結(jié)構(gòu)當(dāng)中有沒有default,如果有的話谓着,則進(jìn)入到dafault處執(zhí)行里面的代碼泼诱,如果沒有,則跳出當(dāng)前結(jié)構(gòu)赊锚,執(zhí)行后面的代碼治筒。
if else-if與switch-case的區(qū)別
If ?else-if多用于區(qū)間的判斷
switch-case多用于定值的判斷
while循環(huán)
所謂的循環(huán)就是重復(fù)的做同一件事情。
while(循環(huán)條件){一般是boolean類型的值或是關(guān)系表達(dá)式或是邏輯表達(dá)式
循環(huán)體(需要重復(fù)執(zhí)行的代碼);
}
執(zhí)行過程:
程序運(yùn)行到while處的小括號處舷蒲,先判斷循環(huán)條件是否成立耸袜,如果成立,也就是返回true牲平,則進(jìn)行大括號執(zhí)行里面的循環(huán)體堤框,執(zhí)行完畢之后,再次回到小括號處纵柿,判斷循環(huán)條件是否成立蜈抓,如果成立,繼續(xù)執(zhí)行里面的代碼昂儒,如果不成立沟使,則跳出當(dāng)前循環(huán)結(jié)構(gòu)。只要是循環(huán)荆忍,總有一行碼可以改變循環(huán)條件格带,如果沒有改變循環(huán)條件的代碼撤缴,這樣的循環(huán)叫做死循環(huán)刹枉。
do-while
do{
循環(huán)體;
}while(循環(huán)條件)
執(zhí)行過程:
程序運(yùn)行到do處,先進(jìn)入大括號中屈呕,執(zhí)行里面的循環(huán)體微宝,執(zhí)行完畢之后,再到while處的小括號處虎眨,判斷循環(huán)條件是否成立蟋软,如果成立,則再次進(jìn)行do里面的大括號嗽桩,執(zhí)行里面的循環(huán)體岳守,如果條件不成立,則跳出do-while循環(huán)碌冶,程序結(jié)束湿痢。
while與do-while的區(qū)別
語法不同
初始值不滿足循環(huán)條件時:
while循環(huán)一次都不執(zhí)行
do-while循環(huán)會執(zhí)行一次
[if !supportLists]1.7[endif]for循環(huán) ?多用于已知次數(shù)的循環(huán)
for(表達(dá)式1;表達(dá)式2;表達(dá)式3){
循環(huán)體;
}
執(zhí)行過程:
程序運(yùn)行到for處,先進(jìn)入小括號,執(zhí)行表達(dá)式1,聲明變量并賦初值譬重,然后執(zhí)行表達(dá)式2拒逮,判斷循環(huán)條件是否成立,如果條件成立臀规,也就是返回true,則進(jìn)行大括號執(zhí)行循環(huán)體滩援,執(zhí)行完畢之后,再執(zhí)行表達(dá)式3塔嬉,改變循環(huán)條件玩徊,然后再執(zhí)行表達(dá)式2,判斷循環(huán)條件是否成立谨究,如果成立佣赖,也就是返回true,則再次進(jìn)行大括號執(zhí)行里面的循環(huán)體,如果條件不成立记盒,也就是返回false憎蛤,則跳出當(dāng)前循環(huán)結(jié)構(gòu),循環(huán)終止纪吮。