知識點(diǎn):
1.掌握J(rèn)avaScript的數(shù)據(jù)類型
2.掌握typeof操作符
3.掌握Undefined
4.掌握null
5.掌握Number
6.掌握isNaN()
7.掌握數(shù)值轉(zhuǎn)換:Number()、parseInt()琅翻、parseFloat()
8.掌握String
9.掌握字符串轉(zhuǎn)換:String()望忆、toString()
10.掌握Boolean
11.掌握類型轉(zhuǎn)換
一、JavaScript的數(shù)據(jù)類型
ECMAScript中有5種簡單數(shù)據(jù)類型(也稱為基本數(shù)據(jù)類型):
Undefined杜耙、Null、Boolean拂盯、Number和String佑女。
還有1種復(fù)雜數(shù)據(jù)類型:Object。
二、typeof
【語法】:
typeof變量或typeof(變量)
【功能】:
檢測變量類型
【返回值】:string類型团驱,有可能是:
string摸吠、number、boolean嚎花、object寸痢、undefined、function
三紊选、undefined
undefined類型只有一個(gè)值啼止,即特殊的undefined。
【說明】:一般而言兵罢,不存在需要顯示地把一個(gè)變量設(shè)置為undefined值的情況献烦。
四、null
1.null值表示一個(gè)空對象指針
2.如果定義的變量準(zhǔn)備在將來用于保存對象卖词,那么最好將改變初始化為null而不是其他值巩那。
【說明】:undefined值是派生自null值的,所以undefined==null返回結(jié)果是true
null和undefined
五此蜈、Number
Number:表示整數(shù)和浮點(diǎn)數(shù)
NaN:即非數(shù)值(Not a Number)是一個(gè)特殊的數(shù)值
【說明】:
1即横、任何涉及NaN的操作(例如NaN/10)都會返回NaN。
2裆赵、NaN與任何值都不相等东囚,包括NaN本身。
六顾瞪、isNaN()
【語法】:isNaN(n)
【功能】:檢測n是否是“非數(shù)值”
【返回值】:boolean
【參數(shù)】:參數(shù)n可以是任何類型
NaN這個(gè)特殊的Number與所有其他值都不相等舔庶,包括它自己:
【說明】:
isNaN()在接收到一個(gè)值之后,會嘗試將這個(gè)值轉(zhuǎn)換為數(shù)值陈醒。
某些不是數(shù)值的值會直接轉(zhuǎn)換為數(shù)值惕橙。
數(shù)值轉(zhuǎn)換
有3個(gè)函數(shù)可以把非數(shù)值轉(zhuǎn)換為數(shù)值:Number()、parseInt()和parseFloat()钉跷。
其中Number()可以用于任何數(shù)據(jù)類型弥鹦;
parseInt()和parseFloat()則專門用于把字符串轉(zhuǎn)換成數(shù)值。
七爷辙、parseInt()
parseInt():會忽略字符串前面的空格彬坏,直至找到第一個(gè)非空格字符。
【說明】:
1膝晾、parseInt():轉(zhuǎn)換空字符串返回NaN栓始。
2、parseInt()這個(gè)函數(shù)提供第二個(gè)參數(shù):轉(zhuǎn)換時(shí)使用的基數(shù)(即多少進(jìn)制)
八血当、parseFloat
parseFloat:從第一個(gè)字符開始解析每個(gè)字符幻赚,直至遇見一個(gè)無效的浮點(diǎn)數(shù)字符為止禀忆。
【說明】:
除了第一個(gè)小數(shù)點(diǎn)有效外,parseFloat()與parseInt()的第二個(gè)區(qū)別在于它始終都會忽略前導(dǎo)的零落恼。
九箩退、String
String類型用于表示由零或多個(gè)16位Unicode字符組成的字符序列,即字符串佳谦。字符串可以由雙引號(”)或單引號(’)表示戴涝。
十、字符串轉(zhuǎn)換:toString()與String()
【語法】:str.toString()
【功能】:將str轉(zhuǎn)換為字符串
【返回值】:
str的一個(gè)副本
【參數(shù)】:
str是要轉(zhuǎn)換的內(nèi)容钻蔑,可以是數(shù)值啥刻、布爾值、對象和字符串咪笑。
【說明】:
在不知道要轉(zhuǎn)換的值是不是null或undefined的情況下郑什,還可以使用String()函數(shù),它能夠?qū)⑷魏晤愋偷闹缔D(zhuǎn)換為字符串蒲肋。
十一、Boolean
用于表示真假的類型钝满,即true表示真兜粘,false表示假。
類型轉(zhuǎn)換:
1弯蚜、除0之外的所有數(shù)字孔轴,轉(zhuǎn)換為布爾型都為true
2、除””之外的所有字符碎捺,轉(zhuǎn)換為布爾型都為true
3路鹰、null和undefined轉(zhuǎn)換為布爾型為false
★總之:
JavaScript把null、undefined收厨、0晋柱、NaN和空字符串''視為false,其他值一概視為true诵叁。
要特別注意相等運(yùn)算符==雁竞。JavaScript在設(shè)計(jì)時(shí),有兩種比較運(yùn)算符:
第一種是==比較拧额,它會自動轉(zhuǎn)換數(shù)據(jù)類型再比較碑诉,很多時(shí)候,會得到非常詭異的結(jié)果侥锦;
第二種是===比較进栽,它不會自動轉(zhuǎn)換數(shù)據(jù)類型,如果數(shù)據(jù)類型不一致恭垦,返回false快毛,如果一致格嗅,再比較。
由于JavaScript這個(gè)設(shè)計(jì)缺陷祸泪,不要使用==比較吗浩,始終堅(jiān)持使用===比較。