JavaScript資料的基本型別

2021-07-23 09:24:31 字數 2871 閱讀 8086

基本型別:undefined、null、number、string、boolean

undefined和null型別是只有乙個值的資料型別,分別是undefined、null

在使用var宣告變數但未對其加以初始化時,這個變數的值是undefined

var message;

//var name;

console.log(message); //

undefined

console.log(message == undefined); //

true

console.log(name); //報錯 (對於沒有宣告過的變數只能執行一項操作:typeof)

console.log(typeof name); //

undefined

null表示乙個空物件指標,這就是為什麼用typeof操作符檢測null值會返回object的原因;

如果定義的變數在將來是用來儲存物件的,最好將該變數初始化為null,這樣可以直接判斷null值來知道是否已經儲存了乙個物件的引用

var animal = null;

console.log(typeof animal); //object

console.log(undefined == null); //

true

console.log(undefined === null); //

false (null指的是物件)

該型別有兩個字面值:truefalse

所有型別的值對會有對應的boolean值:*如果要將乙個值轉換為其對應的boolean值,可呼叫轉型函式boolean()

資料型別

轉換為true的值

轉換為false的值

boolean

true

false

string

任何非空字元

「」(空字串)

number

除0之外的數字

0和nan

object

任何物件

null

undefined

…undefined

當執行if語句時,會自動執行boolean轉換,請看下面:

var a = 'hello';

if(a) //字串被自動轉換成對應的boolean值true

true和false在與數字做比較時,會隱式轉換成1和0,栗子如下:

console.log(true == '1'); //true 

console.log(true == 'true'); //false

注意:nan 用來表示乙個本來要返回數值的運算元未返回數值的情況

nan與任何值都不相等,包括本身

alert(nan == nan); //false
isfinite()函式可以用來確定乙個數值是不是有窮的

isfinite(infinity); //false

isfinite(899); //true

isnan()函式接受乙個引數後會嘗試把這個引數轉換成數值,如果可以轉換成數字則返回false,不能轉換為數值返回true

console.log(isnan('10')); //false

console.log(isnan(10)); //false

console.log(isnan('hello')); //true (不能轉換成數值)

console.log(isnan(true)); //false (true可以轉換成數值1)

console.log(isnan(nan)); //true

//a為任意正數

console.log(0/0);//nan

console.log(a/0);//infinity

console.log(-a/0);//-infinity

在這裡著重介紹tostring()和string()方法

數值、布林值、物件、字串都有tostring()方法

null、undefined沒有tostring()方法,所以在不知道轉化的值是不是以上兩個之一時,可以使用string()方法

string()可以將任何型別的值轉換成字串

在使用string()方法時,如果值有tostring()方法呼叫該方法,沒有該方法返回相應的字串

栗子:

console.

log(string(null)); //'null'

console.

log(string(undefined)); //'undefined'

console.

log(string(25)); //'25'

console.

log(string(false)); //'false'

以上五種型別是基本資料型別!

javascript基本資料型別

1 關鍵字和保留字,不能用作識別符號 2 js中的變數,無論是定義什麼樣的資料型別,都同意使用 var js中的變數可以定義在一行中,由於ecmascript是鬆散型別的,所以不同型別的變數可以放在一行中定義 如 var message hi found false age 29 3 資料型別 ty...

javascript基本學習

ecma 幾乎沒有相容性問題 dom 有一些操作不相容 bom 沒有相容問題 完全不相容 變數的型別 1 型別檢驗 typeof運算子 數字變數 number string boolean undefined object function 乙個變數應該只存放一種型別的資料 變數型別 2 資料型別轉...

JavaScript基本語法

一 資料型別 6類 數值型 int 整型 float 浮點型 字串型別 string 布林型boolean 物件型別object 空型別null 未定義型別undefined 變數被建立但未被賦值 二 變數 var 變數名 用var宣告變數 三 運算子 6類 1 賦值運算子 等 2 算數運算子 等 ...