JavaScript一種直譯式腳本語言啄刹,是一種動態(tài)類型、弱類型凄贩、基于原型的語言誓军,內(nèi)置支持類型。
JS作用:表單驗證怎炊,減輕服務(wù)端的壓力谭企;添加頁面動畫效果廓译;動態(tài)更改頁面內(nèi)容评肆;Ajax網(wǎng)絡(luò)請求。
下面簡單介紹JS的基礎(chǔ)知識:
基礎(chǔ)知識
一非区、基本結(jié)構(gòu)
二瓜挽、使用JS的三種方式
1、直接在HTML標簽中征绸,使用事件屬性久橙,調(diào)用JS代碼:
2、在頁面的任意位置管怠,使用script標簽淆衷,插入JS代碼。
3渤弛、引入外部JS文件:
[**注意事項]**
∽U① JS代碼可以放在頁面的任意位置使用,但是放置的位置不同,將影響JS執(zhí)行的順序
〖淹贰② 引入外部JS的script標簽中鹰贵,不能再包含任何的JS代碼。
三康嘉、JS中的變量
1碉输、變量的聲明
? [JS中變量聲明的注意事項]
① JS中聲明變量的關(guān)鍵字只有一個var亭珍,變量的類型敷钾,取決于所賦的值;
如果聲明后為賦值肄梨,則為Undefined類型闰非。
② JS中同一個變量峭范,可以在多次賦值中财松,被修改數(shù)據(jù)類型;
var num1=1;
num = "字符串";
∩纯亍③ 變量可以使用var聲明辆毡,也可以直接賦值聲明。(區(qū)別:使用var聲明的作用域為局部變量)
√鸷Α④ 在JS中舶掖,一個變量可以多次使用var聲明,后面的聲明相當于直接賦值尔店,沒有任何作用眨攘;
⑤ JS變量區(qū)分大小寫嚣州,大寫和小寫不是一個變量鲫售;
2、JS中的數(shù)據(jù)類型:
Undefined:使用var聲明该肴,但是沒有賦值的變量
null:表示空的引用
Boolean:真假
Number:數(shù)值類型情竹,包括整型和浮點型
Object:對象
3、常用數(shù)值函數(shù)
①isNaN:用于檢測是一個變量匀哄,是不是非數(shù)值(Not a Number)秦效;
isNaN在檢測時,會先調(diào)用Number函數(shù)涎嚼,嘗試將變量轉(zhuǎn)為數(shù)值類型阱州,如果最終結(jié)果能夠轉(zhuǎn)化為數(shù)值,則不是NaN法梯。
②Number函數(shù):用于將各種數(shù)據(jù)類型轉(zhuǎn)為數(shù)值類型
>>>Undefined:無法轉(zhuǎn)換苔货,返回NaN;
>>>null:轉(zhuǎn)為0;
>>>Boolean:true轉(zhuǎn)為1蒲赂,false轉(zhuǎn)為0阱冶;
>>>字符串:
如果字符串是純數(shù)值字符串,可以轉(zhuǎn)換滥嘴,"123"-->123
如果字符串包含非數(shù)值字符木蹬,不能轉(zhuǎn)換冠蒋,"123a"-->NaN
如果是空字符串秋忙,轉(zhuǎn)為0魂拦,""-->0 " "-->0
③parseInt():將字符串轉(zhuǎn)為數(shù)值類型
如果是空字符串范舀,不能轉(zhuǎn)," "-->NaN
如果是純數(shù)值類型字符串艺智,可以轉(zhuǎn)換锡溯,且小數(shù)點直接舍去习勤,不保留互广,"123"-->123 "123.9"-->123
如果字符串包含非數(shù)值字符敛腌,則將非數(shù)值字符前面的整數(shù)進行轉(zhuǎn)換,"123a"-->123 "a123"-->NaN
④parseFloat():轉(zhuǎn)換機制與java相同惫皱。
不同的是:轉(zhuǎn)換數(shù)值字符串時像樊,如果字符串為小數(shù)則可以保留小數(shù)點,"123.5"-->123.5 "123"-->123
⑤typeof():檢測一個變量的數(shù)據(jù)類型旅敷。
字符串->String? 數(shù)值->number?? true/false->boolean
未定義->undefined? 對象/null->object? 函數(shù)->function
四生棍、JS中常用的輸入輸出語句
1、alert():彈窗輸出
2媳谁、prompt():彈窗輸入
接受兩部分參數(shù):① 輸入提示內(nèi)容涂滴;② 輸入框的默認文本。(兩部分都可以省略)
輸入的內(nèi)容默認都是字符串晴音。
3柔纵、document.write("<h1>12345</h1> <h6>hahaha</h6>");
在瀏覽器屏幕上面打印。
4段多、console.log("hahaha");
瀏覽器控制臺打印首量。
五壮吩、JS中的運算符
1进苍、除號:無論符號兩邊是整數(shù)還是小數(shù),除完后都將按照實際結(jié)果保留小數(shù)鸭叙;
例如:22/10 --> 2.2
2觉啊、===:要求等號兩邊的數(shù)據(jù)、類型和值都必須相同沈贝。如果類型不同杠人,直接返回false
==:只判斷兩邊的數(shù)據(jù),值是否相等,并不關(guān)心等式兩邊是否是同一種數(shù)據(jù)類型
∥松啤辑莫!=:不等? !==:不全等
3罩引、&各吨、| 只能進行按位運算,如果兩邊不是數(shù)值類型袁铐,將轉(zhuǎn)為數(shù)值類型再運算揭蜒;
&&、|| 進行邏輯運算
4剔桨、各級運算符的優(yōu)先級別表:
分支與循環(huán)
一屉更、if判斷
1、JS中的真假判斷:
∪髯骸① Boolean類型:true為真瑰谜,false為假;
∈骷ā② 數(shù)值類型:0為假似舵,非0為真;
〈邢俊③ 字符串類型:""為假砚哗,非空字符串為真;
∨檗取④ Null/Undefined/NaN:全為假蛛芥;
⑤ Object:全為真军援。
2仅淑、if判斷:
二、循環(huán)
1胸哥、switch
switch結(jié)構(gòu)的()中可以放各種數(shù)據(jù)類型:
比對時涯竟,采用? "==="? 進行判斷,要求數(shù)據(jù)類型完全相等
【JS中switch 與 Java中switch 的區(qū)別:】
Java中switch不能判斷區(qū)間空厌,而JS中switch可以判斷區(qū)間
2庐船、do-while
3、for循環(huán)
4嘲更、例:輸入一個數(shù)筐钟,判斷其是否是正整數(shù),如果不是正整數(shù)赋朦,提示輸入有誤篓冲,請重新輸入李破;如果是正整數(shù),反轉(zhuǎn)輸出這個數(shù)壹将。
最后:
“相信有很多想學前端的小伙伴嗤攻,今年年初我花了一個月整理了一份最適合2018年學習的web前端干貨,從最基礎(chǔ)的HTML+CSS+JS到移動端HTML5到各種框架都有整理诽俯,送給每一位前端小伙伴屯曹,53763,1707這里是小白聚集地惊畏,歡迎初學和進階中的小伙伴恶耽。”