ECMAScript中将資料類型分為三類:基本資料類型,特殊資料類型和複合(引用)資料類型
一、基本資料類型
String:字元串資料類型,放在單引号或者雙引号中
Number:數字類型,包括int和float兩種
Boolean: 布爾類型,隻有true和false兩種值
二、特殊資料類型
undefined:變量聲明後但未指派,其值便為undefined,如:var a;還有一種情況:var a = undefined;
null:表示為空。即對象不存在或給變量指派為null。(對象不存在就是整個頁面中沒有這個DOM)
三、複合(應用)資料類型
object:對象,即把一些彼此相關的屬性和方法集合在一起構成的一個資料實體。如:
var obj = {
a : 1,
b : 2,
c : 3,
};
array:數組,即一些資料的集合。如
var arr = [1,2,3];
typeof 和 NaN:
typeof:擷取變量的資料類型,傳回資料類型的字元串表達(小寫)
如:typeof('123'); ===>> string
typeof(123); ===>> number
NaN:表示不是數字值的特殊值,可以了解為Number的一種特殊類型,隻有當在js運算中發生資料類型轉換時提示,isNaN()方法是特有的對資料進行判斷的 ,如果是數字傳回false,不是數字傳回true。
isNaN用法:isNaN(123) ===>> 傳回false,因為它是數字類型
isNaN('123') ===>> 傳回true,因為它不是數字,而是字元串
資料類型的轉換
在js中資料類型轉換一般分為兩種,即強制類型轉換和隐式類型轉換(一般是利用運算符完成的)。
強制轉換:
toString():轉換為字元串類型,但null和undefined除外
String():可以将所有變量轉為字元串類型,包括null和undefined
//toString()使用:
var age = 20;
var ageString = age.toString(); //"20"
var result = true;
var resultString = result.toString(); //"true"
var num = 10;
var numString1 = num.toString(); //"10"
var numString2 = num.toString(10); //"10"
var numString3 = num.toString(8); //"12"
var numString4 = num.toString(16); //"a"
var numString5 = num.toString(2); //"1010"
//String()使用和toString()基本一緻,但在轉換null和undefined是有所不同
//null.toString(); //報:TypeError: null has no properties
//undefined.toString(); //報:TypeError: undefined has no properties
//String()可以轉換null和undefined這兩種情況
var numString6 = String(null); //"null"
var numString7 = String(undefined); //"undefined"
parseInt() :轉換為整數
var a="123.989sdfsdfkjksdf";
console.log(typeof a); //String
var b= parseInt(a);
console.log(b); //123
console.log(typeof b); //Number
parseFloat() :轉換為浮點型
var c=parseFloat(a);
console.log(c); //123.989
console.log(typeof c); //number
Number():轉換為數字
var d=Number(a);
console.log(d); //保留值 NaN (不是數字)
console.log(typeof d);//Number
Boolean():轉換為boolean型
var x=-100;
var y=Boolean(x);
console.log(y);//true
console.log(typeof y);//boolean
注:能轉換成false值的:false, 0, "", NaN, null, undefined
隐式類型:利用運算符自動完成的轉換
var q=100;
var r="200";
console.log(q+r); //把數字q自動轉換成了字元串 ==>>100200
console.log(q/r); //把字元串r自動轉換成了數字 ==>>0.5
文章僅為本人學習過程的一個記錄,僅供參考,如有問題,歡迎指出