-/*\r
+/**\r
* http://pettanr.sourceforge.jp/test/type.html\r
+ * ビルトイン方の判定に使用する関数を集めたもの。ブラウザのネイティブな判定関数には不可解な挙動があるので、X.Type を使用するほうがよい。\r
* \r
- * need xua\r
+ * @namespace X.Type\r
+ * @alias X.Type\r
*/\r
-\r
X.Type = {\r
+ /**\r
+ * Object か?判定する。typeof null === 'object' に対策済なので null は Object ではない。\r
+ */\r
isObject : function( v ){\r
return v && typeof v === 'object'; // typeof null === 'object' に対策\r
},\r
- \r
+ /**\r
+ * Function か?判定する。\r
+ */\r
isFunction : function( v ){\r
return typeof v === 'function';\r
},\r
- \r
+ /**\r
+ * ie の XHR.open 等ビルトインオブジェクトか?判定する。\r
+ */\r
isUnknown : function( v ){\r
- return typeof v === 'unknown'; // ie の XHR.open など\r
+ return typeof v === 'unknown';\r
},\r
- \r
+ /**\r
+ * Array か?判定する。argumnets 等のファイク Array は false なので注意。\r
+ * @funciton\r
+ */\r
isArray :\r
new Function( 'v',\r
X_UA.IE < 5.5 || X_UA.NetFront < 4 ? // netfront3.4 は html に instanceof をすると error になる\r
'return v&&Object.prototype.toString.call(v)==="[object Array]"' :\r
'return v instanceof Array'\r
),\r
- \r
+ /**\r
+ * 真偽値か?判定する。\r
+ */\r
isBoolean : function( v ){\r
return v === true || v === false;\r
},\r
- \r
+ /**\r
+ * 文字列か?判定する。\r
+ */\r
isString : function( v ){\r
return typeof v === 'string'; // v === v + ''; // 文字列の加算は IE で遅いかも。\r
},\r
- \r
+ /**\r
+ * 数値値か?判定する。\r
+ */\r
isNumber : function( v ){\r
return typeof v === 'number'; // v !== v || v + 0 === v;\r
},\r
- \r
+ /**\r
+ * finite か?判定する。isFinite( '123' ) === true に対策済。\r
+ */\r
isFinite : function( v ){\r
- return typeof v === 'number' && isFinite( v ); // isFinite( '123' ) === true に対策\r
+ return typeof v === 'number' && isFinite( v );\r
},\r
- \r
+ /**\r
+ * NaN か?判定する。isNaN( 'NaN' ) === true に対策済。\r
+ */\r
isNaN : function( v ){\r
- return v !== v; // isNaN( 'NaN' ) === true に対策\r
+ return v !== v;\r
},\r
- \r
+ /**\r
+ * HTMLElement か?判定する。\r
+ * @funciton\r
+ */\r
isHTMLElement :\r
new Function( 'v',\r
( X_UA.IE4 || X_UA.MacIE ) ?\r
return (Object.prototype.toString.call(v) === "[object HTMLCollection]");\r
},\r
*/\r
+ /**\r
+ * Null か?判定する。\r
+ */\r
isNull : function( v ){\r
return v === null;\r
},\r
- \r
+ /**\r
+ * undefined か?判定する。\r
+ */\r
isUndefined : function( v ){\r
return v === void 0;\r
}\r