OSDN Git Service

Version 0.6.173, add OS detection to X.UA, fix X.Timer @Chrome & X.Audio.
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 04_XObject.js
index 5791535..9ee8197 100644 (file)
@@ -40,8 +40,9 @@ X[ 'Object' ] = {
        \r
        'isEmpty'    : X_Object_isEmpty,\r
        \r
-       'inObject'   : X_Object_inObject\r
+       'inObject'   : X_Object_inObject,\r
        \r
+       'find'       : X_Object_find\r
        // TODO hasOwnProperty\r
 };\r
 \r
@@ -152,3 +153,20 @@ function X_Object_isEmpty( v ){
        return true;\r
 };\r
 \r
+/**\r
+ * obj に対し、selector で示した値を返す。メンバを辿れなかった場合、undefined が返る。\r
+ * @alias X.Object.find\r
+ * @param {object} obj\r
+ * @param {string} selector\r
+ * @return {*}\r
+ */\r
+function X_Object_find( obj, selector ){\r
+       var selectors = selector.split( '>' );\r
+       \r
+       for( ; selector = selectors.shift(); ){\r
+               obj = obj[ selector ];\r
+               if( !obj ) return;\r
+       };\r
+       return obj;\r
+};\r
+\r