Posted in Javascript onOctober 29, 2010
//检查我们的数字是否其实是一个字符串 if ( num.constructor == String ) //如果是,则将它解析成数字 num = parseInt( num ); //检查我们的字符串是否其实是一个数组 if ( str.constructor == Array ) //如果是,则用逗号连接该数组,得到一个字符串 str = str.join(',');
表1显示了对不同类型对象分别使用我所介绍的两种方法进行类型检查的结果。表格的第一列显示了我们试图找到其类型的对象。每二列是运行typeof Variable(Variable 为第一列所示的值)。此列中的所有结果都是字符串。最后,第三列显示了对第一列包含的对象运行Variable.constructor 所得的结果。些列中的所有结果都是对象。
表1. 变量类型检查
———————————————————————————————Variable
typeof Variable
Variable.constructor
———————————————————————————————
{an:"object"}
object
Object
["an","array"]
object
Array
function(){}
function
Function
"a string"
string
String
55
number
Number
true
boolean
Boolean
new User()
object
User
——————————————————————————————————
使用一个变量的constructor 作为对象类型的引用可能是最简单的类型检查方式。当你想要确定精确吻合的参数数目的类型传进了你的函数时,严格的类型检查在这种可能会大有帮助。
js类型检查实现代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@