基本型別: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指的是物件)
該型別有兩個字面值:true、false
所有型別的值對會有對應的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 算數運算子 等 ...