2 * http://pettanr.sourceforge.jp/test/type.html
\r
8 isObject : function(v) {
\r
9 return v !== null && typeof v === 'object';
\r
12 isFunction : function(v) {
\r
13 return typeof v === 'function';
\r
17 X.UA.IE < 5.5 ? 'return v && v.push === Array.prototype.push;' : // win ie5-, MacIE5.2
\r
18 X.UA.IE ? 'return v && Object.prototype.toString.call(v) === "[object Array]"' :
\r
19 'return v instanceof Array;'
\r
22 isBoolean : function(v) {
\r
23 return typeof v === 'boolean'; // v === true || v === false;
\r
25 isString : function(v) {
\r
26 return typeof v === 'string';
\r
28 isNumber : function(v) {
\r
29 return typeof v === 'number';
\r
31 isFinite : function(v){
\r
32 return typeof v === 'number' && isFinite(v);
\r
34 isNaN : function(v){
\r
35 return typeof v === 'number' && v !== v;
\r
39 ( X.UA.IE4 || X.UA.MacIE ) ? (function(v){ return v && v.tagName && v.all;}) :
\r
40 window['HTMLElement'] ? (new Function('v', 'return v instanceof HTMLElement')) :
\r
41 (function(v){ return v && v.nodeType === 1 && v.appendChild;}),
\r
43 isElementCollection : function(v) {
\r
44 return (Object.prototype.toString.call(v) === "[object HTMLCollection]");
\r
47 isNull : function(v) {
\r
50 isUndefined : function(v) {
\r
51 return typeof v === 'undefined';
\r
55 console.log( 'X.Core.Type' );
\r