天天看點

JS資料類型 以及 資料類型的轉換

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
           

文章僅為本人學習過程的一個記錄,僅供參考,如有問題,歡迎指出

繼續閱讀