您的位置:首页 > Web前端 > JavaScript

JavaScript 学习(八):类型判断

2012-12-05 20:56 127 查看
javaScript 中有两个接口可以用来判断数据类型,一个是 typeof ,另外一个是 instanceof 。

typeof 接口可以判断六种类型:"number" "string" "boolean" "object" "function" 和 "undefined"

接口说明:

形式:typeof[()expression[]] ;

参数:expression 参数是需要查找类型信息的任意表达式

返回值:类型信息的字符串形式

instanceof 接口可以判断所有 Object类型:Array Date Enumerator Error Global Math Object RegExp 等等

接口说明:

形式:result = object instanceof class

参数:result 必选项。任意变量。

object 必选项。任意对象表达式。

class 必选项。任意已定义的对象类。

返回值:如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。

为了方便使用,特对类型判断方法进行整理,代码如下:

/**
* CheckType
*
* Author: masterr <shishuo365@126.com>
*/

/**
* Test v is undefined
*
* @param {var}    var
* @reutrn success true
*		   failed  false
*/
IsUndefined = function(v)
{
if(typeof v == "undefined")
return true;
else
return false;
}

/**
* Test v is number
*
* @param {var}    var
* @reutrn success true
*		   failed  false
*/
IsNumber = function(v)
{
if(typeof v == "number")
return true;
else
return false;
}

/**
* Test v is string
*
* @param {var}    var
* @reutrn success true
*		   failed  false
*/
IsString = function(v)
{
if(typeof v == "string")
return true;
else
return false;
}

/**
* Test v is boolean
*
* @param {var}    var
* @reutrn success true
*		   failed  false
*/
IsBoolean = function(v)
{
if(typeof v == "boolean")
return true;
else
return false;
}

/**
* Test v is object
*
* @param {var}    var
* @reutrn success true
*		   failed  false
*/
IsObject = function(v)
{
if(typeof v == "object")
return true;
else
return false;
}

/**
* Test v is function
*
* @param {var}    var
* @reutrn success true
*		   failed  false
*/
IsFunction = function(v)
{
if(typeof v == "function")
return true;
else
return false;
}

/**
* Test v is array
*
* @param {var}    var
* @reutrn success true
*		   failed  false
*/
IsArray = function(v)
{
if(v instanceof Array)
return true;
else
return false;
}

/**
* Test o is array
*
* @param {var}    var
* @reutrn success true
*		   failed  false
*/
IsArrayObj = function(o)
{
return (o instanceof Array);
}

/**
* Test o is Boolean
*
* @param {var}    var
* @reutrn success true
*		   failed  false
*/
IsBooleanObj = function(o)
{
return (o instanceof Boolean);
}

/**
* Test o is Date
*
* @param {var}    var
* @reutrn success true
*		   failed  false
*/
IsDateObj = function(o)
{
return (o instanceof Date);
}

/**
* Test o is Error
*
* @param {var}    var
* @reutrn success true
*		   failed  false
*/
IsErrorObj = function(o)
{
return (o instanceof Error);
}

/**
* Test o is Function
*
* @param {var}    var
* @reutrn success true
*		   failed  false
*/
IsFunctionObj = function(o)
{
return (o instanceof Function);
}

/**
* Test o is Number
*
* @param {var}    var
* @reutrn success true
*		   failed  false
*/
IsNumberObj = function(o)
{
return (o instanceof Number);
}

/**
* Test o is Object
*
* @param {var}    var
* @reutrn success true
*		   failed  false
*/
IsObjectObj = function(o)
{
return (o instanceof Object);
}

/**
* Test o is String
*
* @param {var}    var
* @reutrn success true
*		   failed  false
*/
IsStringObj = function(o)
{
return (o instanceof String);
}


转载请注明来自Master.R(石硕)的CSDN博客:blog.csdn.net/shishuo365 如有疑问请发邮件shishuo365#126.com(将#更换为@)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: