使用构造函数属性来判断对象的类型

使用构造函数属性来判断对象的类型:

 

//检查我们的数字实际上是否为字符串

if(num.constructor==String)

//如果是,则根据这个字符串解析出整数来

num=parseInt(num);

//检查我们的字符串实际上是否是数据

if(str.constructor==Array)

//如果是,则根据数据用逗号归并出字符串来

str=str.join(",");

 

变量的类型检查

 

变量 typeof变量 变量.构造函数
{an:"object"} object Object
["an","array"] object Array
function(){} function Function
"a string" string String
55 number Numuber
true boolean Boolean
new User object User

 

//一个函数可以严格维护传入函数的所有参数

<script>

function strict(types,args){
 if(types.length!=args.length){
  throw "Invalid number of arguments.Expected "+types.length+" received "+args.length+" insted.";
 }

 for(var i=0;i<args.length;i++){
  if(args[i].constructor!=types[i]){
   throw types[i].name+" "+args[i].constructor.name;
  }
 }
}
function userList(prefix,num,users){
 strict([String,Number,Array],arguments);
}
userList("aa",'a',['a','b']); 

</script>

你可能感兴趣的:(构造函数)