1. js六大數(shù)據(jù)類型
null并非typeof出來的類型弯汰,不過由于null不可再分序调,所以將其歸于基本數(shù)據(jù)類型之中与纽。
typeof類型:
? ? ? ? ? ? ? ? undefined堰怨、
? ? ? ? ? ? ? ? boolean芥玉、
? ? ? ? ? ? ? ? ?string、
? ? ? ? ? ? ? ? number备图、
? ? ? ? ? ? ? ? object灿巧、
? ? ? ? ? ? ? ? ? function
以下是根據(jù)ECMAScript標(biāo)準(zhǔn)的數(shù)據(jù)類型分類
基本數(shù)據(jù)類型
Number? ? 數(shù)字
String? ? 字符串
Boolean? 布爾
Undefined 未定義
Null 空對象
Symbol? 獨一無二的值(ES6新增)
復(fù)雜數(shù)據(jù)類型
Object? ? 對象(可拆分為多種數(shù)據(jù)類型)
2. 數(shù)據(jù)類型補(bǔ)充
null空對象 -> 數(shù)據(jù)類型(object)
NaN 非數(shù)字 -> 數(shù)據(jù)類型(number)
NaN和任何數(shù)據(jù)類型都不相等,包括自己
3. 數(shù)字相關(guān)判斷方法
是否是數(shù)字
isNaN() 非數(shù)字->true? 數(shù)字->false
是否是整數(shù)
if(num == parseInt(num))
4. 變量
? ? 全局變量
? ? 局部變量
? ? ?閉包
子函數(shù)可以使用父函數(shù)的全局變量
變量的遮蔽
全局變量和局部變量同名
就近原則->在函數(shù)里優(yōu)先使用自己的變量
5. 運算符
?算術(shù)運算符
?比較運算符
== -> !=? ? === -> !==
賦值運算符
邏輯運算符
6. 常見變量命名前綴
前綴全稱含義示例
o ? ? ?object ? ? ? 一個對象诬烹,一個元素 ? ? ? ? ?oDiv
a ? ? ? array ? ? ? ? 一組元素 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?aLi
s ? ? ? string ? ? ? ? ?字符串 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?sUserName
i ? ? ? ?integer ? ? ? ? 整數(shù) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?iCount
f ? ? ? ? float ? ? ? ? ? ? 浮點數(shù) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?fPrice
b ? ? ? boolean ? ? ? 布爾 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?bOk
fn ? ? ?function ? ? ? ?函數(shù) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?fnSucc
re ? ? ? RegExp ? ? ? 正則 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?reMailCheck
7. 字符串轉(zhuǎn)化為數(shù)字
parseInt()
? ? ? ?從左往右開始找砸烦,找到第一個非數(shù)字(包含小數(shù)點)就停止,如果第一個數(shù)不是數(shù)字绞吁,則返回NaN
? ? ? ?eg: '12.5' -> 12? ? '12abc' -> 12? ? 'abc' -> NaN
parseFloat()
? ? ? ?從左往右開始找,找到第一個非數(shù)字(不包含小數(shù)點)就停止唬格,如果第一個數(shù)不是數(shù)字家破,則返回NaN
? ? ?eg: '12.5' -> 12.5? ? '12abc' -> 12? ? 'abc' -> NaN
Number()
? ? ? ? 既能處理整數(shù),也能處理小數(shù)购岗,但只能處理數(shù)字
? ? ? ?eg: '12.5' -> 12.5? ? '12' -> 12? ? ? ? '12abc' -> NaN? ? 'abc' -> NaN
?例子:<script>
? ? ?parseFloat("1") ?//1
? ? ?parseFloat("1s") ?//1
? ? parseFloat(null) ?//NaN
parseFloat(undefined) ?//NaN
parseFloat("")//NaN
Number("1")//1
Number("1s")//NaN
Number(null)//0 -> Number將非數(shù)字轉(zhuǎn)換為了0
Number(undefined)//NaN
Number("")//0 -> Number將非數(shù)字轉(zhuǎn)換為了0
</script>
parseFloat("1")//1parseFloat("1s")//1parseFloat(null)//NaNparseFloat(undefined)//NaNparseFloat("")//NaNNumber("1")//1Number("1s")//NaNNumber(null)//0 -> Number將非數(shù)字轉(zhuǎn)換為了0Number(undefined)//NaNNumber("")//0 -> Number將非數(shù)字轉(zhuǎn)換為了0
// jquery解決Number問題// isNumeric: function(obj) {//? ? return !jQuery.isArray(obj) && (obj - parseFloat(obj) + 1) >= 0;// }$.isNumeric("1")//true$.isNumeric("1s")//false$.isNumeric(null)//false$.isNumeric(undefined)//false$.isNumeric("")//false
8. 數(shù)字轉(zhuǎn)化為字符串
number + ''
eg:12 + '' -> '12'
9. if語句變形
條件 && 語句; (條件為真時執(zhí)行)
條件 || 語句; (條件為假時執(zhí)行)
三目運算? 條件? 語句1: 語句2;
10.js及事件的籠統(tǒng)概念
? js:修改樣式
事件:用戶的操作