- 數據類型
- typeof
數據類型
5 種簡單類型 Undefined Null Boolean Number String
1 種復雜類型 Object
typeof
對一個值使用typeof 操作符可能返回下列字符串
- undefined --- 這個值未定義
- boolean --- 這個值是布爾值
- string -- 這個值是字符串
- number -- 這個值是數值
- object -- 這個值是對象或null
- function -- 這個值是函數
undefined
是未初始化的定義
使用var 聲明變量但未對其加以初始化
var message;
= var message = undefined;
作用:
區分空對象指針與未經初始化的變量.
包含undefined的變量與尚未定義的變量是不一樣的。
直接使用未定義的變量會報錯,但是這樣的變量卻可以使用唯一的操作typeof,返回的結果是undefined.
var message ;
alert(message); //undefined
alert(asd); //referenceError
alert(typoef message); //undefined
alert(typeof asd); //undefined
Null類型
- null 表示一個空對象指針.
使用typeof null ---> object - undefined的值是派生來自null的值
undefined == null ----> true
Boolean類型
各種數據類型與Boolean轉換規則
數據類型 | 轉換為true的值 | 轉換為false的值 |
---|---|---|
Boolean | true | false |
String | 任何非空字符串 | ""空字符串 |
Number | 任何非零數字值(包括無窮大) | 0和NaN |
Object | 任何對象 | null |
Undefined | N/A(不適用的意思) | undefined |
Number
- IEEE754格式表示整數和浮點數值
- ECMA 262 定義了不同的數值字面量格式,十進制,八進制,十六進制
- 浮點數 以整數存儲,e表示法(科學計數法),數值計算結果不準確,比如0.1+0.2 = 0.30000004,所以不要對其進行比較,判斷。
- 數值范圍
Infinity(正無窮) isFinite(param)--->判斷是否為無窮 - NaN
NaN --> not a number
非數值
NaN與任何值都不相等,包括NaN本身。
isNaN()-->定義了一個數是否可以轉換成數值,true能夠轉換,false轉換失敗。 - 數值轉換
Number()、parseInt()、parseFloat()
Number
類型 | 值 | 結果 |
---|---|---|
Boolean | true | 1 |
Boolean | false | 0 |
數值 | 簡單地傳入和返回 | -- |
null | 0 | -- |
undefined | NaN | -- |
parseInt(str, 8/10/16/2)
parseInt("") ----> NaN
parseInt("123glay")--->123
parseInt()支持指定進制的轉換
parseFloat()不支持指定進制轉換
Number("") =0
Number(null) =0
parseInt("") = NaN
Number("hello world!") = NaN
String
定義:
字符串,由零或多個16位Unicode字符組成的字符序列。
字符字面量
轉義
字符串的特點
字符串不可變
轉換為字符串
toString(),幾乎每一個值都有這個方法,除了null, undefined.
結果: 返回相應值的字字符串表示。
String()
想調用toString(),對于null和undefined,返回這兩個值的字面量
String(null) ---- 'null'
String(undefined) ----- 'undefined'
PS: 若你覺得可以、還行、過得去、甚至不太差的話,可以“關注”一下,就此謝過!