1涎劈、console與alert的區(qū)別:
console.log();是在瀏覽器的控制臺(tái)輸出的(F12檢查)广凸;alert是一個(gè)阻斷式的彈出框;
2蛛枚、變量的使用:
2.1.聲明一個(gè)變量:統(tǒng)一使用var聲明
在js中使用我們的自動(dòng)推到機(jī)制類型(同一區(qū)域內(nèi)谅海,變量名不允許重復(fù),若重復(fù)蹦浦,就近原則)
2.2賦值
2.3使用
3扭吁、變量命名規(guī)范:
3.1人為:必須以字母或“_”或“$”,不允許空格,首字不能為數(shù)字侥袜,不宜太長(zhǎng)蝌诡,區(qū)分大小寫,js語句松散枫吧,可以使用中文浦旱,但不能寫,不能重復(fù)九杂。
3.2js內(nèi)部約定:關(guān)鍵字不能沖突颁湖;
3.3企業(yè)開發(fā)規(guī)定:
3.3.1駱駝式命名法(camel)/小駝峰:首字母小寫,其他首字母大寫
3.3.2帕斯卡命名法(Pascal)/大駝峰:首字母大寫尼酿,其他首字母也是大寫
3.3.3匈牙利命名法(Hungarian):基本和帕斯卡一樣,但在第一個(gè)單詞的前面會(huì)加一個(gè)小寫字母植影,注意小寫字母是變量類型裳擎。在js中不實(shí)用,因?yàn)榻y(tǒng)一使用var思币,但在其他語言中較重要鹿响。
4、變量的數(shù)據(jù)類型:
字符串(string)谷饿、數(shù)字(number)惶我、布爾(bool)、對(duì)象(Object)博投、underfined(未定義)绸贡、null(空)
typeof:關(guān)鍵字幫助我們檢測(cè)類型
5、數(shù)據(jù)類型之間的轉(zhuǎn)換:(字符串轉(zhuǎn)數(shù)字)
5.1直接使用js內(nèi)部提供的方法進(jìn)行轉(zhuǎn)換:
parseInt:可以將一個(gè)字符串型的整數(shù)進(jìn)行轉(zhuǎn)換(可以提取數(shù)字毅哗,但首字母必須是數(shù)字听怕,若不是,顯示Nan-not ?a number虑绵,在js中Nan是不想等的)
parseFloat:可以將一個(gè)字符串型的非整數(shù)進(jìn)行轉(zhuǎn)換
在js(弱類型語言)中尿瞭,雖說有類型區(qū)分,但是翅睛,不管是int或float声搁,統(tǒng)一使用number轉(zhuǎn)換
5.1.1Infinity:用于存放表示正無窮大的數(shù)值;本身也是一個(gè)類型捕发,可以直接使用疏旨,但首字母必須是大寫。
5.2直接使用Number對(duì)象進(jìn)行包裹
5.3參與數(shù)學(xué)計(jì)算(除了加法以外)
6扎酷、數(shù)字和字符串的轉(zhuǎn)換:
6.1使用數(shù)學(xué)運(yùn)算(僅限于加法)
6.1.1使用字符串方法:console.log(a.toString());
6.1.2直接使用String屬性進(jìn)行包裹:console.log(String(a));
6.2小數(shù)化轉(zhuǎn)換
6.2.1保留三位有效數(shù)字
console.log(a.toFixed());
6.2.2以指數(shù)形式保留
console.log(a.toExponential());
6.2.3取三位數(shù)字充石,也會(huì)四舍五入
console.log(a.toPrecision());
6.3Bool類型轉(zhuǎn)換:
6.3.1Bool類型轉(zhuǎn)換成數(shù)Bool字:Number;
6.3.2Bool類型轉(zhuǎn)換成字符串:String;
6.3.3數(shù)字轉(zhuǎn)換成Bool:Boolean骤铃;(非零即為true)
6.3.4字符串轉(zhuǎn)換成Bool:(字符串轉(zhuǎn)布爾拉岁,必須有值,空也不行)Boolean惰爬;
6.3.5其他類型轉(zhuǎn)Bool:Boolean喊暖;
7、基礎(chǔ)類型的包裝類型:
在JavaScript中撕瞧,基本類型:數(shù)字陵叽、boolean、string丛版。 使用規(guī)定大小位置進(jìn)行數(shù)據(jù)的存儲(chǔ)(Java,C#這些語言中)巩掺。 函數(shù)是一種數(shù)據(jù)類型。 在JavaScript中所有的基本類型僅僅只有數(shù)據(jù)本身页畦,沒有所具備的方法和屬性胖替。
只有對(duì)象才具備調(diào)用屬性和方法
8、underfined和null:
null是不指向任何對(duì)象豫缨,如果給一個(gè)對(duì)象賦值了null独令,該對(duì)象有值,只不過是null好芭;
underfined表示聲明了一個(gè)對(duì)象燃箭,但是沒有賦值任何值,所以對(duì)象顯示的是underfined舍败。(看似一樣招狸,但類型不同)
9、運(yùn)算符
運(yùn)算符是指將變量連接成具體的代碼的符號(hào)
1.種類:算術(shù)邻薯、賦值瓢颅、關(guān)系、邏輯弛说、三目挽懦、自增自減
2算術(shù)運(yùn)算符:在程序中幫助我們進(jìn)行加減乘除運(yùn)算的符號(hào);
+:加號(hào)木人,可以做正號(hào)信柿;
-:減號(hào),可以做負(fù)號(hào)醒第;
*:乘號(hào)渔嚷;
/:除號(hào);
%:取余(取模)稠曼,正負(fù)取決于%左側(cè)的數(shù)值形病;
3賦值運(yùn)算符:給變量賦值;
復(fù)雜賦值:a+=1;等于a=a+1;
4自增自減運(yùn)算符:
a++ :后加漠吻,運(yùn)算結(jié)束加1量瓜;++a:前加,運(yùn)算前自加1.
5.關(guān)系運(yùn)算符(比較運(yùn)算符):默認(rèn)情況下途乃,代碼會(huì)按順序執(zhí)行绍傲,但有時(shí),我們不希望程序一運(yùn)行就執(zhí)行耍共,希望在滿足一定的條件的時(shí)候去執(zhí)行烫饼,所以我們需要進(jìn)行條件判斷!
5.1關(guān)系運(yùn)算符包括:> ? < ? >= ? <= ? ?== ? ?=== ? ?!= ? ?!==
5.2所有關(guān)系運(yùn)算符運(yùn)算的結(jié)果都是布爾值试读。
5.3對(duì)于大于等于和小于等于只要一個(gè)符合條件就會(huì)返回true杠纵。
5.4==只是比較內(nèi)容是否相等,并不比較類型钩骇。
5.5===除了比較內(nèi)容是否相等比藻,還需要比較類型是否相同,只有兩者都相同伊履,才會(huì)返回true韩容。
5.6款违!=和唐瀑!==(不等等)的使用:
!=是兩個(gè)等于的關(guān)系插爹,哄辣!是取反,即為不等赠尾;只比較內(nèi)容力穗,不比較類型;
同理气嫁!==為不等等当窗;既比較內(nèi)容,也比較類型寸宵;
5.7注意:關(guān)系運(yùn)算符不能連續(xù)使用
5.8關(guān)系運(yùn)算符的規(guī)律:
5.8.1如果都是關(guān)系運(yùn)算符崖面,按照從左往右依次運(yùn)算;
5.8.2如果> < >= <= 和!= !==,那么左邊的優(yōu)先級(jí)一樣梯影,右邊的優(yōu)先級(jí)一樣巫员。左邊的優(yōu)先級(jí)大于右邊
5.8.3算術(shù)運(yùn)算符和關(guān)系運(yùn)算符結(jié)合,算術(shù)運(yùn)算符的優(yōu)先級(jí)高于關(guān)系運(yùn)算符甲棍。
6.邏輯運(yùn)算符:
6.1邏輯運(yùn)算符包括:&&(與)简识、||(或)、!(非)七扰,
6.2邏輯運(yùn)算符參與運(yùn)算的變量必須是布爾值
6.3&&兩個(gè)條件都必須滿足
6.4||只要滿足一個(gè)即可
6.5奢赂!取反操作
7.三目運(yùn)算符:
7.1單目運(yùn)算符:!10只有一個(gè)數(shù)值參與運(yùn)算戳寸;
7.2雙目運(yùn)算符:10>5呈驶,兩個(gè)數(shù)值
7.3三目運(yùn)算符:三個(gè)表達(dá)式進(jìn)行計(jì)算;格式:條件疫鹊?數(shù)值1:數(shù)值2袖瞻;如果條件為true,返回?cái)?shù)值1拆吆,為false聋迎,返回?cái)?shù)值2;
運(yùn)算符優(yōu)先級(jí):
同一優(yōu)先級(jí)由結(jié)合方向決定
不同:枣耀!
10.+在js中的作用:
10.1如果兩邊都是數(shù)字霉晕,直接使用+進(jìn)行數(shù)學(xué)加法運(yùn)算
10.2如果有一邊是字符串,一邊是數(shù)字捞奕,+號(hào)是連接作用牺堰,輸出的是字符串。
10.3還可以進(jìn)行拼接操作
單雙引區(qū)別:
1.js語言類型差異化颅围,類型沒那么嚴(yán)格伟葫,使用單雙引都一樣(只在js中)
2和html組合使用,html標(biāo)簽用“”院促,js用‘’筏养。
11.程序流程控制:
1.順序結(jié)構(gòu):
2.選擇結(jié)構(gòu):
2.1if語句:特點(diǎn):自由行比較大,條件既可以是數(shù)值常拓,也可以是表達(dá)式
if(條件){
要執(zhí)行的代碼段
}else if(條件2){
要執(zhí)行的代碼段2
}else{
執(zhí)行的代碼段3
}
2.2if語句的簡(jiǎn)寫:
if(條件)
代碼1
代碼塊2
2.3if的跳樓現(xiàn)象:如果判斷某一個(gè)條件成立渐溶,執(zhí)行完對(duì)應(yīng)的代碼后,后面的判斷以及代碼都不會(huì)再繼續(xù)執(zhí)行下去弄抬。(如果需要解決我們的if跳樓現(xiàn)象,可以直接將else-if中的else去掉)
3.switch分支語句:基本和if 一樣茎辐;
注意:case后為冒號(hào),case里的只能是一個(gè)值掂恕,不能是比較式拖陆。
格式:switch(變量/數(shù)值){
case 數(shù)值1:
代碼段1;
break竹海;
case 數(shù)值2:
代碼段2慕蔚;
break;
case 數(shù)值3:
代碼段3斋配;
break孔飒;
default:
代碼段4灌闺;
break;
}
在js中坏瞄,使用switch需要加上break關(guān)鍵字桂对,如果不加,會(huì)一直執(zhí)行鸠匀,知道找到break為止蕉斜。
兩者關(guān)系:
if語句能做的,switch不一定能缀棍;
switch語句可以做的宅此,if都可以做;
4.循環(huán)語句:while語句
while(條件){
循環(huán)體(代碼段)
}
執(zhí)行原理:先判斷條件是否成立爬范,如果不成立父腕,不執(zhí)行;如果條件成立青瀑,則執(zhí)行循環(huán)體璧亮,然后進(jìn)行判斷,執(zhí)行循環(huán)體斥难,知道不滿足條件枝嘶,跳出循環(huán)體。
break語句和continue語句:
continue語句結(jié)束當(dāng)前的循環(huán)體哑诊,直接進(jìn)行下一次循環(huán)群扶;
break語句直接結(jié)束整個(gè)循環(huán)體
do-while循環(huán)語句:
do{
循環(huán)體
}while(條件);
先執(zhí)行循環(huán)體的代碼搭儒,再進(jìn)行半段條件是否成立
while和do while區(qū)別:
do while:不管條件是否成立穷当,先執(zhí)行一次循環(huán)體提茁,再去判斷條件淹禾;
while:先判斷條件是否成立,再執(zhí)行循環(huán)體茴扁;
5for循環(huán)語句:先執(zhí)行初始化語句铃岔,然后再判斷條件,若條件成立峭火,則執(zhí)行循環(huán)體毁习,不成立,結(jié)束整個(gè)循環(huán)體
for(初始化語句卖丸;條件(語句2)纺且;語句3){
循環(huán)體
}
執(zhí)行原理:
當(dāng)for循環(huán)后,先執(zhí)行初始化語句稍浆,后判斷條件是否成立载碌,如果成立猜嘱,執(zhí)行循環(huán)體,再執(zhí)行語句3嫁艇,執(zhí)行循環(huán)體朗伶,依次循環(huán);當(dāng)條件不成立時(shí)步咪,跳出循環(huán)體论皆。
10、Math庫介紹和常用方法:
Math.pow(x猾漫,y):x的y次方点晴;
Math.sprt(x):開平方;
Math.abs(x):取絕對(duì)值悯周;
Math.max(a觉鼻,b,c队橙,d):取出最大值坠陈;
Math.min(a,b捐康,c仇矾,d ):取出最小值;