Return to Snippet

Revision: 2228
at January 21, 2007 21:36 by rolandog


Updated Code
var is={
	Null:function(a){
		return a===null;
	},
	Undefined:function(a){
		return a===undefined;
	},
	nt:function(a){
		return(a===null||a===undefined);
	},
	Function:function(a){
		return(typeof(a)==='function')?a.constructor.toString().match(/Function/)!==null:false;
	},
	String:function(a){
		return(typeof(a)==='string')?true:(typeof(a)==='object')?a.constructor.toString().match(/string/i)!==null:false;
	},
	Array:function(a){
		return(typeof(a)==='object')?a.constructor.toString().match(/array/i)!==null||a.length!==undefined:false;
	},
	Boolean:function(a){
		return(typeof(a)==='boolean')?true:(typeof(a)==='object')?a.constructor.toString().match(/boolean/i)!==null:false;
	},
	Date:function(a){
		return(typeof(a)==='date')?true:(typeof(a)==='object')?a.constructor.toString().match(/date/i)!==null:false;
	},
	HTML:function(a){
		return(typeof(a)==='object')?a.constructor.toString().match(/html/i)!==null:false;
	},
	Number:function(a){
		return(typeof(a)==='number')?true:(typeof(a)==='object')?a.constructor.toString().match(/Number/)!==null:false;
	},
	Object:function(a){
		return(typeof(a)==='object')?a.constructor.toString().match(/object/i)!==null:false;
	},
	RegExp:function(a){
		return(typeof(a)==='function')?a.constructor.toString().match(/regexp/i)!==null:false;
	}
};

var type={
	of:function(a){
		for(var i in is){
			if(is[i](a)){
				return i.toLowerCase();
			}
		}
	}
};

Revision: 2227
at January 17, 2007 21:13 by rolandog


Updated Code
var is={
	Null:function(a){
		return a===null;
	},
	Undefined:function(a){
		return a===undefined;
	},
	Function:function(a){
		return(typeof(a)==='function')?a.constructor.toString().match(/Function/)!==null:false;
	},
	Array:function(a){
		return(typeof(a)==='object')?a.constructor.toString().match(/array/i)!==null:false;
	},
	Boolean:function(a){
		return(typeof(a)==='boolean')?true:(typeof(a)==='object')?a.constructor.toString().match(/boolean/i)!==null:false;
	},
	Date:function(a){
		return(typeof(a)==='date')?true:(typeof(a)==='object')?a.constructor.toString().match(/date/i)!==null:false;
	},
	HTML:function(a){
		return(typeof(a)==='object')?a.constructor.toString().match(/html/i)!==null:false;
	},
	Number:function(a){
		return(typeof(a)==='number')?true:(typeof(a)==='object')?a.constructor.toString().match(/Number/)!==null:false;
	},
	Object:function(a){
		return(typeof(a)==='object')?a.constructor.toString().match(/object/i)!==null:false;
	},
	RegExp:function(a){
		return(typeof(a)==='function')?a.constructor.toString().match(/regexp/i)!==null:false;
	},
	String:function(a){
		return(typeof(a)==='string')?true:(typeof(a)==='object')?a.constructor.toString().match(/string/i)!==null:false;
	}
};

var type={
	of:function(a){
		for(var i in is){
			if(is[i](a)){
				return i.toLowerCase();
			}
		}
	}
};

Revision: 2226
at January 17, 2007 21:12 by rolandog


Updated Code
var  is={
	Null:function(a){
		return a===null;
	},
	Undefined:function(a){
		return a===undefined;
	},
	Function:function(a){
		return(typeof(a)==='function')?a.constructor.toString().match(/Function/)!==null:false;
	},
	Array:function(a){
		return(typeof(a)==='object')?a.constructor.toString().match(/array/i)!==null:false;
	},
	Boolean:function(a){
		return(typeof(a)==='boolean')?true:(typeof(a)==='object')?a.constructor.toString().match(/boolean/i)!==null:false;
	},
	Date:function(a){
		return(typeof(a)==='date')?true:(typeof(a)==='object')?a.constructor.toString().match(/date/i)!==null:false;
	},
	HTML:function(a){
		return(typeof(a)==='object')?a.constructor.toString().match(/html/i)!==null:false;
	},
	Number:function(a){
		return(typeof(a)==='number')?true:(typeof(a)==='object')?a.constructor.toString().match(/Number/)!==null:false;
	},
	Object:function(a){
		return(typeof(a)==='object')?a.constructor.toString().match(/object/i)!==null:false;
	},
	RegExp:function(a){
		return(typeof(a)==='function')?a.constructor.toString().match(/regexp/i)!==null:false;
	},
	String:function(a){
		return(typeof(a)==='string')?true:(typeof(a)==='object')?a.constructor.toString().match(/string/i)!==null:false;
	}
};

var type={
	of:function(a){
		for(var i in  is){
			if(is[i](a)){
				return i.toLowerCase();
			}
		}
	}
};

Revision: 2225
at January 17, 2007 21:10 by rolandog


Updated Code
// Adapted from http://www.planetpdf.com/developer/article.asp?ContentID=testing_for_object_types_in_ja
var is={
	Null:function(a){
		return a===null;
	},
	Undefined:function(a){
		return a===undefined;
	},
	Function:function(a){
		return(typeof(a)==='function')?a.constructor.toString().match(/Function/)!==null:false;
	},
	Array:function(a){
		return(typeof(a)==='object')?a.constructor.toString().match(/array/i)!==null:false;
	},
	Boolean:function(a){
		return(typeof(a)==='boolean')?true:(typeof(a)==='object')?a.constructor.toString().match(/boolean/i)!==null:false;
	},
	Date:function(a){
		return(typeof(a)==='date')?true:(typeof(a)==='object')?a.constructor.toString().match(/date/i)!==null:false;
	},
	HTML:function(a){
		return(typeof(a)==='object')?a.constructor.toString().match(/html/i)!==null:false;
	},
	Number:function(a){
		return(typeof(a)==='number')?true:(typeof(a)==='object')?a.constructor.toString().match(/Number/)!==null:false;
	},
	Object:function(a){
		return(typeof(a)==='object')?a.constructor.toString().match(/object/i)!==null:false;
	},
	RegExp:function(a){
		return(typeof(a)==='function')?a.constructor.toString().match(/regexp/i)!==null:false;
	},
	String:function(a){
		return(typeof(a)==='string')?true:(typeof(a)==='object')?a.constructor.toString().match(/string/i)!==null:false;
	}
};

var type={
	of:function(a){
		for(var i in is){
			if(is[i](a)){
				return i.toLowerCase();
			}
		}
	}
};

Revision: 2224
at January 17, 2007 21:08 by rolandog


Updated Code
var  is={
      Null:function(a){
            return a===null;
      },
      Undefined:function(a){
            return a===undefined;
      },
      Function:function(a){
            return(typeof(a)==='function')?a.constructor.toString().match(/Function/)!==null:false;
      },
      Array:function(a){
            return(typeof(a)==='object')?a.constructor.toString().match(/array/i)!==null:false;
      },
      Boolean:function(a){
            return(typeof(a)==='boolean')?true:(typeof(a)==='object')?a.constructor.toString().match(/boolean/i)!==null:false;
      },
      Date:function(a){
            return(typeof(a)==='date')?true:(typeof(a)==='object')?a.constructor.toString().match(/date/i)!==null:false;
      },
      HTML:function(a){
            return(typeof(a)==='object')?a.constructor.toString().match(/html/i)!==null:false;
      },
      Number:function(a){
            return(typeof(a)==='number')?true:(typeof(a)==='object')?a.constructor.toString().match(/Number/)!==null:false;
      },
      Object:function(a){
            return(typeof(a)==='object')?a.constructor.toString().match(/object/i)!==null:false;
      },
      RegExp:function(a){
            return(typeof(a)==='function')?a.constructor.toString().match(/regexp/i)!==null:false;
      },
      String:function(a){
            return(typeof(a)==='string')?true:(typeof(a)==='object')?a.constructor.toString().match(/string/i)!==null:false;
      }
};

var type={
      of:function(a){
            for(var i in  is){
                  if(is[i](a)){
                        return i.toLowerCase();
                  }
            }
      }
};

Revision: 2223
at January 17, 2007 21:07 by rolandog


Updated Code
var is={
      Null:function(a){
            return a===null;
      },
      Undefined:function(a){
            return a===undefined;
      },
      Function:function(a){
            return(typeof(a)==='function')?a.constructor.toString().match(/Function/)!==null:false;
      },
      Array:function(a){
            return(typeof(a)==='object')?a.constructor.toString().match(/array/i)!==null:false;
      },
      Boolean:function(a){
            return(typeof(a)==='boolean')?true:(typeof(a)==='object')?a.constructor.toString().match(/boolean/i)!==null:false;
      },
      Date:function(a){
            return(typeof(a)==='date')?true:(typeof(a)==='object')?a.constructor.toString().match(/date/i)!==null:false;
      },
      HTML:function(a){
            return(typeof(a)==='object')?a.constructor.toString().match(/html/i)!==null:false;
      },
      Number:function(a){
            return(typeof(a)==='number')?true:(typeof(a)==='object')?a.constructor.toString().match(/Number/)!==null:false;
      },
      Object:function(a){
            return(typeof(a)==='object')?a.constructor.toString().match(/object/i)!==null:false;
      },
      RegExp:function(a){
            return(typeof(a)==='function')?a.constructor.toString().match(/regexp/i)!==null:false;
      },
      String:function(a){
            return(typeof(a)==='string')?true:(typeof(a)==='object')?a.constructor.toString().match(/string/i)!==null:false;
      }
};

var type={
      of:function(a){
            for(var i in is){
                  if(is[i](a)){
                        return i.toLowerCase();
                  }
            }
      }
};

Revision: 2222
at January 17, 2007 21:00 by rolandog


Initial Code
var is={
	Null:function(a){
		return a===null;
	},
	Undefined:function(a){
		return a===undefined;
	},
	Function:function(a){
		return(typeof(a)==='function')?a.constructor.toString().match(/Function/)!==null:false;
	},
	Array:function(a){
		return(typeof(a)==='object')?a.constructor.toString().match(/array/i)!==null:false;
	},
	Boolean:function(a){
		return(typeof(a)==='boolean')?true:(typeof(a)==='object')?a.constructor.toString().match(/boolean/i)!==null:false;
	},
	Date:function(a){
		return(typeof(a)==='date')?true:(typeof(a)==='object')?a.constructor.toString().match(/date/i)!==null:false;
	},
	HTML:function(a){
		return(typeof(a)==='object')?a.constructor.toString().match(/html/i)!==null:false;
	},
	Number:function(a){
		return(typeof(a)==='number')?true:(typeof(a)==='object')?a.constructor.toString().match(/Number/)!==null:false;
	},
	Object:function(a){
		return(typeof(a)==='object')?a.constructor.toString().match(/object/i)!==null:false;
	},
	RegExp:function(a){
		return(typeof(a)==='function')?a.constructor.toString().match(/regexp/i)!==null:false;
	},
	String:function(a){
		return(typeof(a)==='string')?true:(typeof(a)==='object')?a.constructor.toString().match(/string/i)!==null:false;
	}
};

var type={
	of:function(a){
		for(var i in is){
			if(is[i](a)){
				return i.toLowerCase();
			}
		}
	}
};

Initial URL
http://rolandog.com/archives/2007/01/18/typeof-a-more-specific-typeof/

Initial Description
Helps identify correctly the type of whatever you put as an argument. This was adapted from http://www.planetpdf.com/developer/article.asp?ContentID=testing_for_object_types_in_ja

Initial Title
type.of() - a more specific typeof()

Initial Tags
object, array

Initial Language
JavaScript