JavaScript資料型別分析及其轉換

R-B發表於2021-09-09

雖然JavaScript是一種解釋型程式語言,資料型別也並不多,但是作為Web開發者,一些基本的JavaScript資料型別還是需要掌握的。本文就主要介紹了JavaScript中所有的資料型別以及它們之間的互相轉換。

JavaScript資料型別

1.Boolean(布林)

布林:(值型別)var b1=true;//布林型別

2.Number(數字)

數值:(值型別)var n1=3.1415926;//數值型別

n1.toFixed(3);//四捨五入保留3位小數。

3.String(字串)

var s1=‘hello';//字串型別

字串:(值型別,字串不可變特性)

4.Undefined(未定義)

undefined屬於值型別,與其他值計算得到的結果不是我們想要的,但與資料庫中的null稍有區別,比如與數字計算或與字串計算結果。

Undefined型別、Null型別都是隻有一個值的資料型別,分別為undefined與null.

5.Null(空物件)

6.Object(物件型別)

Object是引用型別,其他都是基本資料型別 。

String也是基本型別,不能為String新增動態屬性,而引用型別時可以的。

引用型別物件 instanceof 型別,判斷某個值是否為某個型別,所有引用型別instanceof Object返回都是true

7.應用型別

物件(object):(引用型別)

var tim=new Date();//物件型別(object)
var names=[‘zs','ls','ww'];//陣列也是物件型別(object)
var obj=null;//object

函式:(引用型別)

function fun(){  }  //typeof(fun);//輸出結果為function,函式型別

PS:檢視變數的型別用typeof(變數)

JavaScript中的Null與undefined

undefined,表示一個未知狀態

宣告瞭但是沒有初始化的該變數,變數的值是一個未知狀態(undefined)。 (訪問不存在的屬性或物件window.xxx)方法沒有明確返回值時,返回值是一個undefined.當對未宣告的變數應用typeof運算子時,顯示為undefined(*)

null表示尚未存在的物件,null是一個有特殊意義的值。

可以為變數賦值為null,此時變數的值為“已知狀態”(不是undefined),即null。(用來初始化變數,清除變數內容,釋放記憶體)

undefined==null   //結果為true,但含義不同。

undefined===null //false(*),PS:先判斷型別是否一致,然後判斷值。===嚴格等於、!==嚴格不等於

由於==會將值轉換型別後再判斷是否相等,有時可能會有意想不到的結果,所以推薦使用===。但注意,有些情況使用==能帶來更好的效果。

型別轉換

parseInt(arg)將指定的字串,轉換成整數
parseFloat(arg)將指定的字串,轉換成浮點數
Number(arg)把給定的值(任意型別)轉換成數字(可以是整數或浮點數);轉換的是整個值,而不是部分值。如果該字串不能完全轉換為整型,則返回NaN。(Not a Number)
isNaN(arg),判斷arg是否為一個非數字(NaN),NaN與NaN也不相等。
String(arg)把給定的值(任意型別)轉換成字串;
Boolean(arg)把給定的值(任意型別)轉換成 Boolean 型;
(*)eval(codeString)將一段字串的js程式碼,計算並執行。

相關文章