function isNumber0(val){
return?typeof?val?===?'number';
}
//????但有些情況就不行,比如:
//????1?var?a;
//????2?alert(isNumber(parseInt(a)));
//????但實際上變量a是NaN伯襟,它是不能用于數(shù)值運算的继阻。
//????所以上面的函數(shù)可以修改為:
function?isNumber(val){
return?typeof?val?===?'number'?&&?isFinite(val);
}
//????順便介紹一下JavaScript?isFinite()?函數(shù)断部,isFinite()?函數(shù)用于檢查其參數(shù)是否是無窮大仿粹,
//????如果?number?是有限數(shù)字(或可轉(zhuǎn)換為有限數(shù)字)呢燥,
//????那么返回?true崭添。否則,如果?number?是?NaN(非數(shù)字)叛氨,或者是正呼渣、負(fù)無窮大的數(shù),則返回?false寞埠。
/******************************************************************************
判斷變量是不是布爾類型
*******************************************************************************/
function?isBooleanType(val)?{
return?typeof?val?==="boolean";
}
/******************************************************************************
判斷變量是不是字符串類型
*******************************************************************************/
function?isStringType(val)?{
return?typeof?val?===?"string";
}
/******************************************************************************
判斷變量是不是Undefined
*******************************************************************************/
function?isUndefined(val)?{
return?typeof?val?===?"undefined";
}
var?a;//a是undefined
var?s?=?"strType";
alert("變量a是Undefined的判斷結(jié)果是:"+isUndefined(a));
alert("變量s是Undefined的判斷結(jié)果是:"+isUndefined(s));
/******************************************************************************
判斷變量是不是對象
*******************************************************************************/
function?isObj(str){
if(str?===?null?||?typeof?str?===?'undefined'){
return?false;
}
return?typeof?str?===?'object';
}
var?a;
var?b?=?null;
var?c?=?"str";
var?d?=?{};
var?e?=?new?Object();
alert("變量a是Object類型的判斷結(jié)果是:"+isObj(a));//false
alert("變量b是Object類型的判斷結(jié)果是:"+isObj(b));//false
alert("變量c是Object類型的判斷結(jié)果是:"+isObj(c));//false
alert("變量d是Object類型的判斷結(jié)果是:"+isObj(d));//true
alert("變量e是Object類型的判斷結(jié)果是:"+isObj(e));//true
/******************************************************************************
判斷變量是不是null
*******************************************************************************/
function?isNull(val){
return??val?===?null;
}
/*測試變量*/
var?a;
var?b?=?null;
var?c?=?"str";
//彈出運行結(jié)果
alert("變量a是null的判斷結(jié)果是:"+isNull(a));//false
alert("變量b是null類型的判斷結(jié)果是:"+isNull(b));//true
alert("變量c是null類型的判斷結(jié)果是:"+isNull(c));//false
/******************************************************************************
判斷變量是不是數(shù)組
*******************************************************************************/
//數(shù)組類型不可用typeof來判斷屁置。因為當(dāng)變量是數(shù)組類型是,typeof會返回object仁连。
//方法1
function?isArray1(arr)?{
return?Object.prototype.toString.apply(arr)?===?'[object?Array]';
}
//方法2
function?isArray2(arr)?{
if(arr?===?null?||?typeof?arr?===?'undefined'){
return?false;
}
return?arr.constructor?===?Array;
}