JavaScript資料型別

2021-09-02 08:14:58 字數 3387 閱讀 5024

number型別

這種型別既可以表示32位的整數,還可以表示64位的浮點數。

直接輸入的任何數字都被看做number型別的

字面量。

八進位制數和十六進製制數

整數也可以被表示為八進位制或十六進製制的字面量。

八進位制字面量的首數字必須是0,其後面的數字可以是任何八進位制數字,如**所示:

var num =

070;

//070等於十進位制的56

十六進製制的字面量首數字必須為0,後面接字母x,然後是任意的十六進製制數字。字母可大寫也可小寫。例如:

var num =

0x1f

;//0x1f等於十進位制的31

浮點數

要定義浮點值,必須包括小數點和小數點後一位數字。這被看做浮點數字面量。例如:

var num =

2.0

對於浮點字面量而言,用它進行計算之前,真正儲存的是字串

科學計數法

對於非常大或者非常小的數,可以用科學計數法表示浮點數,可以把乙個數表示為數字加e,後面加乘以10的倍數。例如:

var num =

3.14e5

特殊的number值

number.max_value和number.min_value 定義了number值集合的外邊界。所有ecmascript數都必須在這兩個值之間,不過計算生成的數值結果可以不落在這兩個值之間。

當計算生成的數大於number.max_value 時,它將被賦予值 number.positive_infinity,意味著不再有數字值。

同樣,生成的數值小於 number.min_value 的計算也會被賦予值 number.negative_infinity,也意味著不再有數字值。如果計算返回的是無窮大值,那麼生成的結果不能再用於其他計算。

事實上,有專門的值表示無窮大,即 infinity。number.positive_infinity 的值為 infinity。number.negative_infinity 的值為 -infinity。

由於無窮大數可以是正數也可以是負數,所以可用乙個方法判斷乙個數是否是有窮的(而不是單獨測試每個無窮數)。可以對任何數呼叫 isfinite() 方法,以確保該數不是無窮大。

剩下乙個特殊值是nan,表示非數。一般說來,這種情況發生在型別(string、boolean 等)轉換失敗時。例如,要把單詞 blue 轉換成數值就會失敗,因為沒有與之等價的數值。與無窮大一樣,nan 也不能用於算術計算。nan 的另乙個奇特之處在於,它與自身不相等,這意味著下面的**將返回 false:

alert

(nan

==nan);

//輸出 "false"

alert

(isnan

("blue"))

;//輸出 "true"

alert

(isnan

("666"))

;//輸出 "false"

字串是儲存字元(比如』string』)的變數。

字串可以是引號中的任意文字,可以使用單引號或雙引號:

例項:

var carname=

"bill gates"

;var carname=

'bill gates'

;

也可以在字串中使用引號,只要不匹配包圍字串的引號即可:

例項:

var answer=

"he is called 'bill'"

;var answer=

'he is called "bill"'

;

string 型別的獨特之處在於,它是唯一沒有固定大小的原始型別。可以用字串儲存 0 或更多的 unicode 字元,有 16 位整數表示。

string 型別還包括幾種字元字面量:

字面量含義\n

換行\t

製表符\b

空格\ f

換頁符\\

反斜槓\』

單引號\"

雙引號\0nnn

八進位制** nnn 表示的字元(n 是 0 到 7 中的乙個八進位制數字)

\xnn

十六進製制** nn 表示的字元(n 是 0 到 f 中的乙個十六進製制數字)

\unnnn

十六進製制** nnnn 表示的 unicode 字元(n 是 0 到 f 中的乙個十六進製制數字)

es6 引入了一種新的原始資料型別symbol,表示獨一無二的值。

symbol 值通過symbol函式生成。這就是說,物件的屬性名現在可以有兩種型別,一種是原來就有的字串,另一種就是新增的 symbol 型別。凡是屬性名屬於 symbol 型別,就都是獨一無二的,可以保證不會與其他屬性名產生衝突。

let s =

symbol()

;typeof s

// "symbol"

boolean 型別是 ecmascript 中最常用的型別之一。它有兩個值 true 和 false (即兩個 boolean 字面量)。

即使 false 不等於 0,0 也可以在必要時被轉換成 false,這樣在 boolean 語句中使用兩者都是安全的。

它只有乙個專用值 null,即它的字面量。值 undefined 實際上是從值 null 派生來的,因此 ecmascript 把它們定義為相等的。

alert

(null

== undefined)

;//輸出 "true"

儘管這兩個值相等,但它們的含義不同:undefined 是宣告了變數但未對其初始化時賦予該變數的值,null 則用於表示尚未存在的物件。如果函式或方法要返回的是物件,那麼找不到該物件時,返回的通常是 null。

undefined 型別只有乙個值,即 undefined。當宣告的變數未初始化時,該變數的預設值是 undefined。

物件由花括號分隔。在括號內部,物件的屬性以名稱和值對的形式 (name : value) 來定義。屬性由逗號分隔:

var person=

;

物件屬性有兩種定址方式:

name=person.lastname;

name=person[

"lastname"

];

JavaScript 資料型別

變數 宣告區域性變數 varmessage 宣告全部變數 message typeof 例如 var message some string alert typeof message string alert typeof message string alert typeof 95 number ...

Javascript資料型別

ecmascript中有5種簡單資料型別 也稱為基本資料型別 1.undefined 該型別只有乙個值,即undefined。在使用var宣告但未初始化時,這個變數就是undefined 2.null 該型別只有乙個值,即null。null undefined 3.boolean 4.number ...

JavaScript資料型別

undefined派生於null,因此在使用 進行比較時會返回true 沒有必要將變數值顯示宣告undefined 宣告空物件時應將其值賦值為nullundefined與null的關係 3 boolean true為真,false為假 true不一定 1,false不一定 0 使用boolean 進...