ECMAScript的數(shù)據(jù)類型分為兩種:
簡單數(shù)據(jù)類型, 復雜數(shù)據(jù)類型
簡單數(shù)據(jù)類型(基本數(shù)據(jù)類型):
1.Undefined
2.Null
3.Boolean
4.Number
5.String
復雜數(shù)據(jù)類型:
1.Object
操作符typeof:
用于檢查變量類型,用法: typeof 變量? ?或? typeof(變量)
返回值: string、number、boolean、object、undefined、null、function
調(diào)試打印console.log:
用于調(diào)試,可打印信息到控制臺中。用法: console.log(需要打印的變量或值)
檢測變量類型: console.log(typeof 變量)
1、數(shù)據(jù)類型 Undefined:
defined是定義的意思,? 則undefined就是未定義的意思。
undefined這個數(shù)據(jù)類型只有一個值,就是undefined本身。
一般我們不需要顯式去定義一個變量為undefined。
例如, var name = '張三'。??
我們顯式去定義了一個字符串賦予到了name這個變量上。
那么name的數(shù)據(jù)類型就是字符串。
如果我不去定義,var name;
那此刻,沒有被賦予值的變量,他的數(shù)據(jù)類型就是undefined,他的值只有一種,就是undefined。
2、數(shù)據(jù)類型 Null :?
1.null值表示的是一個空的指針對象
2.如果定義的變量準備在將來用于保存對象,那么最好將改變量初始化為null,而不是其他值:
? ?因為判斷對象是否為空,會較為麻煩。初始化定義為null,在有值時才改變?yōu)閷ο?。就容易判斷對象何時有值;
3.undefined的值是派生自null值的,所以undefined == null 返回的結(jié)果是true。
3、數(shù)據(jù)類型?Number:
1.number表示的是整數(shù)和浮點數(shù): var age = 18;? ?var distance = 18.75;? ??
age和distance都屬于number數(shù)據(jù)類型。age屬于number中的整數(shù)型,distance屬于number中的浮點型
2.NaN (no a number),表示非數(shù)值的一個特殊字符。例如: 2 - 'abc'? 數(shù)字減去字符串,無法操作師,就會返回NaN,NaN也屬于Number類型;
注意點:?
任何涉及NaN的操作,都會返回NaN(例如NaN * 3,NaN+3)
NaN與任何值都不相等,包括它本身
3.isNaN() 操作符,用于檢測數(shù)值/變量是否為 “非數(shù)值”,是返回true,否返回false.?
? ?例如 isNaN(18)? //false? ? isNaN('abc') // true? isNaN("18") //false (isNaN會嘗試把值轉(zhuǎn)為數(shù)字,如果可以,則同樣返回false)
4、數(shù)據(jù)類型 String:
1.String類型是有0或多個16位Unicode字符組成的字符序列,即字符串。字符串可以由雙引號(")或單引號(')表示。
2.toString()方法進行類型轉(zhuǎn)換,可將其他數(shù)據(jù)類型返回字符串格式。 例如:?
var str = 56;? console.log(str.toString());? ?str可以是數(shù)值,布爾值,對象,字符串。
3.String()方法進行強制轉(zhuǎn)換,可轉(zhuǎn)換undefined,null等空值。當不知道值是否為空時,可使用String(str)進行轉(zhuǎn)換
5、數(shù)據(jù)類型 Boolean:
1.Boolean類型用于表示真假,即true表示真,false表示假;
2.利用Boolean(str)進行類型轉(zhuǎn)換:
? ? 除了0以外的所有數(shù)字,轉(zhuǎn)換為布爾值都為true
? ? 除了("",'')空以外的所有字符串,轉(zhuǎn)化為布爾值都為true
? ? undefined和null轉(zhuǎn)化為布爾值都為false
?