1. 程式人生 > >JS資料型別及轉換

JS資料型別及轉換

一、資料型別
資料型別:基本資料型別
ES5:
number(數值型別),string(字串),undefined(申明未賦值),null(空型別),boolean(布林型別);
ES6:
set:可以接受一個數組(或類似陣列的物件)作為引數,用來初始化,類似於陣列,但是成員的值都是唯一的,沒有重複的值;
map:提供了“值—值”的對應,是一種更完善的Hash結構實現。如果需要“鍵值對”的資料結構,Map比Object更合適。它類似於物件,也是鍵值對的集合,但是“鍵”的範圍不限於字串,各種型別的值(包括物件)都可以當作鍵。
1、number
a、不區分整數和浮點數,如果是浮點數,小數點後面至少要有一位數字;
b、數值的四則運算:+、-、*(乘)、/(除),按照數學四則運演算法則;
c、NaN(not a number):非數字;
d、isNaN()判斷值是否為非數字,如果是非數字,返回true,如果是數字返回的是false;
2、string


a、字串是以單引號或者雙引號括起來的任意文字,單引號或者雙引號成對出現;
b、ES5,字串用+拼接並賦值,ES6,用``(反單引號)拼接,使用${}包量;

        var str = "小明";
		var sAge = "18";
		var sLoaction = "中國";
		var info = "他的名字叫"+str+",他今年"+sAge+"歲,是"+sLoaction+"人";//ES5,字串用+拼接並賦值
		var info1 = `他的名字叫${str},他今年${sAge}歲,是${sLoaction}人`;//ES6,用``拼接,使用${}包量
		console.log(info);
		console.log(info1);

c、轉義符:
以反斜槓開頭的不可顯示的特殊字元通常稱為控制字元,也被稱為轉義字元。通過轉義字元可以在字串當中新增不能夠顯示的特殊字元。
\b 退格
\n 換行
\f 換頁
\t Tab符
\r 回車符
\’ 單引號
\” 雙引號
\ 反斜槓本身
3、布林值boolean
使用true和false來表示布林值,true為真,false為假,可以直接用true、fasle表示布林值,也可以通過布林運算計算出來,布林值經常在條件判斷中使用。

var bool = true;
if(bool==true){
				alert("你是真的");
			}else{
				alert("你是假的");
			}

4、undefined
申明未賦值型別,表示一個變數是申明,但沒有賦值,undefined在判斷函式引數是否傳遞的情況下有用。

			var str;
			console.log(str);

5、null空型別
null表示一個”空”的值,它和0以及空字串""不同,0是一個數值,‘’表示長度為0的字串,而null表示“空”。
null型別被看做空物件指標,null型別也是空的物件引用,只有一個值,即null值,所以,在使用typeof操作符去檢測null型別的值時,結果為object型別;如果定義了一個變數,但是想在以後把這個變數當做一個物件來用,那麼最好將該物件初始化為null值;可以通過將變數的值設定為null來清空變數,釋放記憶體空間。
二、資料型別轉換
轉換為Number
a、Number():將任何型別轉換為數值型別

			var num = "123";
			var str =  "123您好";
			console.log(num);
			console.log(Number(num));//Number()將字元轉換為數值
			console.log(Number(str));//返回NaN,not a number

b、parseInt():將字串型別轉換為整數

			var str_01 = "123.58568您好";
			console.log(parseInt(str_01));//123

解析至第一個非數字字元中斷。
c、parseFloat():將字串型別轉換為小數

var str_01 = "123.58568.5255您好";
			console.log(parseFloat(str_01));//123.58568;parseFloat只識別一一個小數點

轉換為String
1、String(value)將任何型別轉換為字串型別;
2、""+value;
3、value.toString();

			var num01 = 123;
			console.log(typeof(num01));//number
			var str_03 = String(num01);
			console.log(typeof(str_03));//typeof檢測資料型別,string
			var str_num = 123+"";
			console.log(typeof(str_num));//string

轉換為Boolean:Boolean()將任何型別轉為true或者false

			var num01 = 123;
			var str_04 = Boolean(num01);
			console.log(typeof(str_04));//boolean
			console.log(str_04);//true