(`return false:終止運行橱赠,開始下面的運行;`)
數(shù)據(jù)類型轉(zhuǎn)換
- 強制類型轉(zhuǎn)換
1.1 parseInt:將數(shù)字或者字符串轉(zhuǎn)化為整型延欠。
1.2 parseFloat:將數(shù)字或者字符串轉(zhuǎn)化為浮點型矩肩,如果轉(zhuǎn)化的內(nèi)容結(jié)果是整型靠抑,那么結(jié)果就是整型,不會是浮點型霹肝。
1.3 Number(‘內(nèi)容’):結(jié)果只有兩種估蹄,一種是數(shù)字類型,一種是NaN沫换,只要內(nèi)容里面有一個不是數(shù)字的字符臭蚁,那么就是NaN;
1.4 String:將內(nèi)容轉(zhuǎn)化為字符串類型讯赏。當(dāng)使用string轉(zhuǎn)化null垮兑,undefined,布爾值的時候會直接將這個原始的數(shù)據(jù)類型轉(zhuǎn)化為字符串漱挎,
1.5 Boolean:把內(nèi)容轉(zhuǎn)化為布爾值系枪,把任何內(nèi)容轉(zhuǎn)化為true或者false;
轉(zhuǎn)化布爾值為false的情況:
- undefined為false
- null為false
- false為false
- 0為false
- NaN為false
- “ ”或者空字符串為false
總結(jié):
如果是string類型磕谅,只要不是空字符私爷,都會轉(zhuǎn)為true
number類型,只要不是0怜庸,即使是負(fù)數(shù)当犯,都會轉(zhuǎn)為true;
object類型割疾,只要不是null類型嚎卫,都會轉(zhuǎn)化為true。
undefined類型宏榕,都會轉(zhuǎn)換成false拓诸。
隱式類型轉(zhuǎn)換(自己轉(zhuǎn)換
)
- 判斷里面:只要是判斷里面的結(jié)果都會轉(zhuǎn)化為布爾值;
- 具有字符串的加法:兩邊都要轉(zhuǎn)換為字符串麻昼,就是字符串的拼接奠支。
- 字符串與數(shù)字比較大小:字符串要轉(zhuǎn)化為數(shù)字抚芦,減法運算的時候倍谜,字符串要轉(zhuǎn)化為數(shù)字迈螟;
- 遇到:
==,===尔崔,答毫!=,季春!==
就要知道要進行隱式類型轉(zhuǎn)換了洗搂;
技巧:
快速的實現(xiàn)字符串轉(zhuǎn)化為數(shù)字,減0 運算载弄。
運算符號
- 算術(shù)運算符:
1.1 加法運算符:數(shù)字的加法耘拇,簡單的數(shù)字相加,要求加好兩邊都是數(shù)值類型宇攻,字符串的加法是字符串的拼接惫叛,只有加號兩邊,有一邊是字符串尺碰,那么這個加號就是字符串的拼接挣棕。(字符串必須是放在引號里面;
)
1.2 減法運算符:數(shù)字的減法亲桥,會進行隱式類型轉(zhuǎn)化洛心,如果減號兩邊有一邊不是數(shù)字,那么會自動轉(zhuǎn)換為數(shù)字類型题篷;
1.3 乘法與除法運算符:就是簡單的數(shù)字運算词身,乘法是一個(*
)號,除法是(/
)番枚;JS里面法严,除法運算的除數(shù)是可以為0的,結(jié)果是無窮葫笼,也就是Infinity深啤。
1.4 取余(余數(shù)運算
):就是除法運算在得到結(jié)果為整數(shù)的情況下,被除數(shù)剩下的值路星。(%
)取余符號溯街;取余運算符號只與被除數(shù)有關(guān),被除數(shù)什么符號洋丐,結(jié)果就是什么符號呈昔,
1.5 絕對值:某一個數(shù)字的正數(shù)值。
Math.abs() 獲取絕對值友绝;
Math.pow()次方運算堤尾;
Math.random()獲取隨機函數(shù);
雖然浮點數(shù)也能夠進行取余運算迁客,但是極度不精確郭宝,建議不使用辞槐。
- 自增與自減運算:
2.1 I++:對i加1,結(jié)果賦值給i剩蟀;和i=i+i的操作一樣催蝗;
2.2 i--:對i減1切威,結(jié)果賦值給i育特;和i=i-i的操作一樣;
2.3 ++i:對i加1先朦,結(jié)果賦值給i缰冤;和i=i+i的操作一樣;
2.4 --i:對i減1喳魏,結(jié)果賦值給i棉浸;和i=i-i的操作一樣;
區(qū)別:如果自增自減運算參與其他運算刺彩,那么后加加要先參加運算迷郑,然后再自增,或者自減;前加加先自增或者自減创倔,然后
再參與運算嗡害。
- 乘方運算(**):例:3**2=9;
3.1 賦值運算:=
var a=1畦攘; 給a賦值1霸妹;
a=a+2?a+=2;
-=
*=
/=
%=
- 比較運算符:
> < >= <=
4.1==
判斷值是否相同;
4.2===
判斷值與類型是否相同知押;
4.3叹螟!=
判斷值是否不同;
4.4台盯!==
判斷不全等罢绽;
這些比較運算符一般都是使用在需要判斷的地方,比如`if`静盅,`while`等小括號里面良价,返回值一定是個布爾值;
如果是數(shù)字與字符串進行比較温亲,那么字符串會自動的轉(zhuǎn)化為數(shù)字進行比較棚壁,如果是兩個字符串進行比較,那么先比較第一個
字符栈虚,第一個字符大的那么第一個字符串大袖外,如果第一個字符一樣大的話就比較第二個字符,字符大小是按照`unicode`
編碼確定的魂务;
注意:
unicode編碼:文字的編碼曼验;
NaN與任何值比較都是false泌射;
- 邏輯運算符:
5.1 && (與
),符號兩邊的條件同時符合才會返回true
鬓照;
5.2 || (或
)熔酷,符號兩邊只要一邊符合條件就會返回true
;
5.3 豺裆!(非
)拒秘,取反,true
轉(zhuǎn)為false
臭猜,false轉(zhuǎn)為true
躺酒;
- 短路運算:
當(dāng)邏輯判斷操作前面的運算已經(jīng)得出最終結(jié)果的時候,后面的操作就不存在了蔑歌;具體指或操作的第一個判斷返回true羹应,與
操作的第一個判斷返回false;
如:
Var i=10次屠;
If(4<2 ||10> ++i){
Console.log(i)
}
- 三元(條件)運算符:
6.1 三元:三個操作數(shù)
6.2 自增园匹,自減:一元操作符;
6.3 ==劫灶,>裸违,:二元操作符。a>b;
6.4 ?:條件浑此?操作1:操作2 累颂;
(如果滿足條件就實行操作1,不滿足就實行操作2
)
類似于下面:
if(條件){
操作1凛俱;
}else{
操作2紊馏;
}
a>10?console.log(a):console.log(10);
- innerHTML:
獲取標(biāo)簽內(nèi)部的所有內(nèi)容,可以獲取出標(biāo)簽里面的標(biāo)簽 - innerText:
獲取標(biāo)簽里面的內(nèi)容蒲犬,不獲取標(biāo)簽朱监;
<div><span>123</span></div>
innerHTML <span>123</span>
innerText 123
eval 能夠把一個字符串當(dāng)做表達式進行計算;
程序的三大流程:
- 順序結(jié)構(gòu)
- 循環(huán)結(jié)構(gòu)
- 選擇結(jié)構(gòu)(
分支結(jié)構(gòu)
)
- 流程圖:
1.1 開始和結(jié)束:圓角矩形原叮,程序總是從開始作為入口赫编,從結(jié)束作為出口
1.2 過程:每一個步驟都是一個過程,過程是使用矩形表示的奋隶,過程只能有一個入口擂送,一個出口。
1.3 判斷:里面是一個條件判斷唯欣,用菱形來表示嘹吨,一個入口,多個出口境氢。
- If結(jié)構(gòu)
2.1 單句if:- If(判斷語句)一句代碼:
如果符合if條件的結(jié)果語句只有一條蟀拷,那么if后面的大括號可以省略碰纬;
- If(判斷語句)一句代碼:
等價于:
Var a=3;
if(a==1)console.log(a);
Console.log(10);
雖然這個很簡潔问芬,但是不介意使用悦析,也就是說即使只有一句代碼也要加上大括號;
- 一般if:
If(判斷條件){
一組語句此衅;
}
- 雙分支if
If(){
一組語句强戴;
}else{
一組語句;
}
這個語句相對來說比較麻煩炕柔,如果語句比較少的時候酌泰,可以使用,如果語句比較多匕累,那么久轉(zhuǎn)化為一般if
結(jié)構(gòu);
If(){
一組語句默伍;
}else{
一組語句欢嘿;
}
轉(zhuǎn)化成:
If(a==1){
}
If(!a=1){
}
- 多分支結(jié)構(gòu)if:
If(判斷){
}else if(判斷){
} else if(判斷){
}
switch結(jié)構(gòu):
不確定具體值得用if結(jié)構(gòu)也糊,確定具體值得炼蹦,并且是有限個(`數(shù)據(jù)不能太多`)的時候用switch;
switch(判斷的值){
cass第一個值:
語句二
break狸剃;
cass得二個值
語句掐隐;
dreak
- default:
語句
break
}
break:為了跳出一個代碼塊,如果沒有break
钞馁,那么swithch case
代碼就繼續(xù)往下執(zhí)行虑省,那么下面的case
就不啟動。
注意:switch參與判斷的值與case后面的值是全等判斷僧凰;
for循環(huán)結(jié)構(gòu)
for(初始化探颈;判斷條件;改變循環(huán)判斷值){
}
如:
for(){
第二個循環(huán)的變量注意變化
for(){
}
}
while循環(huán)
初始化
while(判斷條件){
改變循環(huán)條件
}
比如:
var i=0;
while(i<100){
I++训措;
}
do while循環(huán):
do{
}while()伪节;
區(qū)別:while循環(huán)先判斷后運行,不符合條件一次也不運行绩鸣,do while先運行再判斷怀大,如果不符合條件,至少運行一次呀闻,
break與 continue:
- break:跳出代碼塊化借;結(jié)束循環(huán)
- continue:繼續(xù)執(zhí)行,結(jié)束本次循環(huán)总珠;
continue
后面的不執(zhí)行了屏鳍,直接跳出勘纯; - label語法:控制
break
與continue
,一般不使用钓瞭,但是也有可能會遇到驳遵。
label _name(隨便取得名字):
for(){
label name;
continue name;
}