天天看點

JavaScript中的資料類型轉換 NaN一、判斷資料類型的兩種方法:二、轉換為數字類型(number):三、轉換為字元串類型(string):四、轉換為布爾類型(boolean):

一、判斷資料類型的兩種方法:

1、 typeof (檢測的資料)

var a = "hello world";
    var b = 6.5;
    // 檢測a的資料類型
    console.log(typeof(a));     //string
    //檢測a,b的資料類型
    console.log(typeof(a),typeof(b));  // string  number

           

2、instanceof 檢測的資料

instanceof 是用來判斷 A 是否為 B 的執行個體,表達式為:A instanceof B,如果 A 是 B 的執行個體,則傳回 true,否則傳回 false。
[] instanceof Array; // true
	{} instanceof Object;// true
	new Date() instanceof Date;// true
	 
	function Person(){};
	new Person() instanceof Person;
	 
	[] instanceof Object; // true
	new Date() instanceof Object;// true
	new Person instanceof Object;// true

           

我們發現,雖然 instanceof 能夠判斷出 [ ] 是Array的執行個體,但它認為 [ ] 也是Object的執行個體,為什麼呢?

我們來分析一下 [ ]、Array、Object 三者之間的關系:

從 instanceof 能夠判斷出 [ ].proto 指向 Array.prototype,而 Array.prototype.proto 又指向了Object.prototype,最終 Object.prototype.proto 指向了null,标志着原型鍊的結束。是以,[]、Array、Object 就在内部形成了一條原型鍊:

JavaScript中的資料類型轉換 NaN一、判斷資料類型的兩種方法:二、轉換為數字類型(number):三、轉換為字元串類型(string):四、轉換為布爾類型(boolean):

二、轉換為數字類型(number):

資料類型 Number() parseInt() parseFloat() Math.round()
string 字元串内容為數字 數字 數字向下取整 數字 數字四舍五入
字元串内容不為數字 NaN NaN NaN NaN
boolean 布爾值為true 1 NaN NaN 1
布爾值為false NaN NaN
undefined NaN NaN NaN NaN
null NaN NaN

注: 要轉換的資料都放在括号裡

三、轉換為字元串類型(string):

資料類型 String() .toString()
number 内容為數字的字元串 内容為數字的字元串
boolean 内容為true或false的字元串 内容為true或false的字元串
undefined 内容為undefined的字元串 報錯,不可用
null 内容為null的字元串 報錯,不可用

注:.tostring()的用法為: 要改變類型的資料.toString()

四、轉換為布爾類型(boolean):

資料類型 Boolean()
number 非0數字 true
false
string 非空字元串 true
false
undefined false
null false

注: 要轉換的資料都放在括号裡