JavaScript查漏補缺
JavaScript有幾種數據類型?
0. String(字符串)
1. Number(數值)
2. Boolean(布爾)
3. Null(空值)
4. Undefined(未定義)
5. Object(對象)前 5 種是基本類型
Null類型和Undefined類型的定義和區別?
Null類型的值只有一個(null),用來表示一個為空的對象
使用typeof檢查一個null時,會返回objectUndefined類型的值也只有一個(undefined)
當聲明一個變量,不給它賦值時,它的值就是undefined
使用typeof檢查undefined時,會返回undefined
關于強制類型轉換,需要注意的點
其他類型 --> String類型時
null和undefined不能使用toString()方法進行強轉
可以使用String()方法進行轉換字符串 --> 數值型時,如果字符串中含有非數值的字符,使用Number()方法轉換結果是 NaN
" " --> 0
null --> 0
undefined --> NaN對于字符串包含非數值字符的處理方法主要有以下兩種:
使用parseInt()方法可以取出字符串中從左到右的有效整數數字進行轉換
使用parseFloat()方法可以取出字符串中從左到右的有效小數注意: 如果對非String類型使用parseInt()或者parseFloat()它會先將其轉換成String類型,然后再操作其他類型 --> 布爾型Number --> Boolean: 除了0和NaN,其余都是trueString --> Boolean: 除了空串,其余都是trueundefined,null --> Boolean: false Object --> Boolean: true
表示其他進制的數
0x開頭 --> 16進制
0O開頭 --> 8進制(數字0加上大寫字母O)
0b開頭 --> 2進制
運算符
對非Number類型的值進行運算時,會將這些值轉換成Number類型然后再計算任何值和NaN做運算都得NaN
+ 加法,如果是兩個字符串,則會拼串,任何值和字符串相加都會轉為字符串,即做拼串我們可以利用這一特點來進行隱式類型轉換,即任何類型的值加上一個空串,即可轉為字符串
- * / 任何值做這幾個操作時,都會自動轉換為Number我們也可以利用這一點 來進行其他類型隱式轉換為Number類型
% 取模