標籤:判斷 使用 test arp 字元 function console ini 函數
Boolean null undefined Number String Symbol(ECMAScript 2015)
可以通過 typeof檢測類型。
var x = 1; console.log(typeof x);//number var a = undefined; console.log(typeof a);//undefined var b = null; console.log(typeof b);//object,(null是Null 物件引用/或者說指標)。 var c = new Object(); console.log(typeof c);//object var e = [1,2,3]; console.log(typeof e);//object var d = function(){ // ... 語句塊 } console.log(typeof d);//function var e = {}; console.log(typeof e); //object var f; console.log(typeof f);//undefined var g = "helloWorld"; console.log(typeof g);//string var h = true; console.log(typeof h);// boolean
1.Number類型
Number類型包含整數和浮點數
NaN:非數字類型。特點:① 涉及到的 任何關於NaN的操作,都會返回NaN ② NaN不等於自身
var ab = "a1";console.log(ab/10);// NaNconsole.log(NaN == NaN);// false;
isNaN()函數,用於判斷是否是一個非數字類型。如果傳入的參數是一個非數字類型,那麼返回true;否則返回false;
var num1 = 55; console.log(isNaN(num1)); //false var num2 ="測試"; console.log(isNaN(num2)); //true var num3 ="666"; console.log(isNaN(num3)); //false
Infinity 屬性用於存放表示正無窮大的數值。
var num4 = 66 / 0;console.log(num4);//Infinityconsole.log(typeof(num4));//number
數值轉換:
Number()轉型函數,可以用於任何資料類型;
parseInt(),將值轉換為整型,用的比較多;
parseFloat();將值轉換為浮點型。
2.String類型
字串轉換:轉型函數String(),適用於任何資料類型(null,undefined 轉換後為null和undefined);toString()方法(null,defined沒有toString()方法)。
var bc = "test";var bd = null;var be = undefined;var ob = {};console.log(bc.toString()); testconsole.log(ob.toString());[object Object]console.log(typeof ob.toString()); string//console.log(bd.toString());//error 報錯//console.log(be.toString());//error 報錯console.log("------");console.log(String(bc)); testconsole.log(String(bd)); nullconsole.log(String(be)); undefinedconsole.log(String(ob)); [object Object]
3.Null類型
null類型被看做Null 物件指標,前文說到null類型也是空的對象引用。只有一個值,即null值,所以,在你 用typeof 操作符去檢測null類型的值時,結果是object類型。
var test = null;console.log(typeof test); //object
4.Undefined類型
只有一個值,即undefined值。使用var聲明了變數,但未給變數初始化值,那麼這個變數的值就是undefined。
var name = "test";var age;console.log(name);//testconsole.log(age);//undefined//console.log(height);//error,變數height沒有聲明console.log(typeof name);//stringconsole.log(typeof age);//undefinedconsole.log(typeof height);//undefined,變數height沒有聲明
5.Boolean類型
true 或者false
var times = new Date("");console.log(times); //Invalid Dateconsole.log(times == null); //falseconsole.log(times == "Invalid Date"); //trueconsole.log(times === "Invalid Date");// falseconsole.log(typeof times);//objectconsole.log(times.toString() === "Invalid Date"); //truevar newObj1;/console.log(newObj1);//undefinedconsole.log(typeof newObj1);//undefinedconsole.log(newObj1 == null);//trueconsole.log(newObj1 == undefined);//trueconsole.log(newObj1 === null);//falseconsole.log(newObj1 === undefined);//true var newObj2 = null ;console.log(newObj2);//nullconsole.log(typeof newObj2);//objectconsole.log(newObj2 == null);//trueconsole.log(newObj2 == undefined);//trueconsole.log(newObj2 === null);//trueconsole.log(newObj2 === undefined);//false//0/0 5/0var tnum = 5 / 0; console.log(tnum); //Infinityconsole.log(typeof tnum);//numberconsole.log(tnum == true);//falseconsole.log(isNaN(tnum));//false
js資料類型