javascript的資料型別分為兩種:1、值型別(基本型別),包含String、Number、Boolean、Null、Undefined和Symbol型別;2、引用資料型別,包含Object、Array和Function類型。
本教學操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。
javascript資料型別分為:
值型別(基本型別):字串(String)、數字(Number)、布林( Boolean)、對空(Null)、未定義(Undefined)、Symbol。
引用資料型態:物件(Object)、陣列(Array)、函數(Function)。
基本資料型別詳解:
1、number型別
① number型別包含整數和浮點數(浮點數數值必須包含一個小數點,且小數點後至少有一位數字)。
浮點數會自動轉換為整數,如下:
let num = 1.00 console.log(num) // 输出:1,自动转换为了整数
② 浮點數的最高精度是17位,看下面的例子:
let a = 0.1 let b = 0.2 console.log(a + b) // 输出:0.30000000000000004
上面的例子,結果竟然不是0.3,至於其他變成語言,也會遇到這種情況(關於浮點數計算會產生誤差問題,其他有些變成語言也會出現類似情況。)
③ NaN:非數字類型,特點:涉及任何關於NaN的操作,都會返回NaN,而且NaN不等於自身。如下:
let name = 'lisi' console.log(name / 10) // 输出:NaN console.log(NaN === NaN) // 输出:false
④ isNaN()函數用來判斷是否為非數字類型,如果傳入的參數是非數字類型,則傳回true,否則傳回false;
#⑤ isNaN()函數傳入一個參數,函數會先將參數轉換為數值,如果參數類型為物件類型,會先呼叫物件的valueOf()方法,再確定該方法傳回的值是否可以轉換為數值類型,如果不能,再呼叫物件的toString()方法,再確定回傳值;
⑦ 數值轉換:
Number(),轉型函數,可以用於任何資料型別
parseInt(),將值轉換為整數型,用的較多
parseFloat(),將值轉換為浮點型
【推薦學習:javascript高階教學】
2、string類型
① 字串型別中的單雙引號作用一樣;
② 字串有length屬性,可以取得字串的長度:
let str = 'Hello world' console.log(str.length) // 输出:11
③ 字串的值是不可變的,要改變一個字串的值,首先要銷毀原來的字串,再用另一個包含新值得字串區填入該字串;
④ 字串轉換:
String(),轉型函數,適用於任何資料類型(null,undefined轉換後為null和undefined)
toString()方法可以把一個邏輯值轉換成字串,並回傳結果(null、undefined沒有toString()方法)
let ab = 'zhangsan' let bc = null let cd = undefined console.log(ab.toString()) // 输出:zhangsan // console.log(bc.toString()) // error 报错 // console.log(cd.toString()) // error 报错 console.log(String(ab)) // 输出:zhangsan console.log(String(bc)) // 输出:null console.log(String(cd)) // 输出:undefined
3、boolean型別
#① 這個型別只有兩個值,true和false;
② Boolean(),轉型函數,將某個值轉換為Boolean型別
4、null型別
① null型別被看做空物件指針,只有一個值,也就是null值,所以在用typeof運算子去偵測null型別的值得時候,結果是object型別;
②如果你定義了一個變量,但是想在以後把這個物件當作一個物件來使用,最好將該物件初始化為null值
5、undefined型別
① 只有一個值,即undefined,如果聲明了一個變量,但是未給變量初始化值,那麼這個變量的值就是undefined:
let name = 'zhangsan' let age console.log(name) // 输出:zhangsan console.log(age) // undefined,因为声明了age,但是没有给初始化值
② 呼叫函數時,應該提供的參數沒有提供,該參數等於undefined;
③ 物件沒有賦值的屬性,該屬性的值為undefined;
④ 函數沒有傳回值,預設回傳undefined。
6、Symbol
Symbol 是 ES6 引入了新的原始資料類型,表示獨一無二的值。 Symbol 類型是唯一的且不可修改的
var s = Symbol()
Symbol 函數前不能使用 new 指令,否則會報錯。這是因為產生的 Symbol 是原始型別的值,不是物件。
Symbol 函數可以接受一個字串作為參數,表示對 Symbol 實例的描述
更多程式相關知識,請造訪:程式設計影片! !
以上是javascript分為哪兩種資料型的詳細內容。更多資訊請關注PHP中文網其他相關文章!