1. 程式人生 > >typeof()用法及JS基本型別

typeof()用法及JS基本型別

一,typeof方法用法

typeof 返回的是字串,有六種可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"

事例:常用來判斷

// 1.校驗註冊時間
sRegDate = getItemValue(0,getRow(),"RegDate");
sToday = "<%=sBusinessDate%>"; //當前日期
if(typeof(sRegDate) != "undefined" && sRegDate != "") {
   if( sRegDate >= sToday
) { alert("註冊日期必須早於當前日期!"); return false; } }

二,拓展:

js中undefined,null,NaN的區別

1.型別分析:
js中的資料型別有undefined,boolean,number,string,object等5種,前4種為原始型別,第5種為引用型別。
var a1;
var a2 = true;
var a3 = 1;
var a4 = "Hello";
var a5 = new Object();
var a6 = null;
var a7 = NaN;
var a8 = undefined;
alert(typeof a);    //顯示"undefined"
alert(typeof a1); //顯示"undefined"
alert(typeof a2); //顯示"boolean"
alert(typeof a3); //顯示"number"
alert(typeof a4); //顯示"string"
alert(typeof a5); //顯示"object"
alert(typeof a6); //顯示"object"
alert(typeof a7); //顯示"number"
alert(typeof a8); //顯示"undefined"

從上面的程式碼中可以看出未定義的值和定義未賦值的為undefined,null是一種特殊的object,NaN是一種特殊的number。

2.比較運算
var a1;         //a1的值為undefined
var a2 = null;
var a3 = NaN;
alert(a1 == a2); //顯示"true"
alert(a1 != a2); //顯示"false"
alert(a1 == a3); //顯示"false"
alert(a1 != a3); //顯示"true"
alert(a2 == a3); //顯示"false"
alert(a2 != a3); //顯示"true"
alert(a3 == a3); //顯示"false"
alert(a3 != a3); //顯示"true"

從上面的程式碼可以得出結論:(1)undefined與null是相等;(2)NaN與任何值都不相等,與自己也不相等。