X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2F01_core%2F04_XObject.js;h=500ca49394e7aba06f2fb83704f0b5a523793be2;hb=8e74cf066ea48ec8cf34efb2b5e84725c10c813a;hp=c12c3bd05adc4fc449fabefb9530d1c7a1d68961;hpb=0a4e04fb0af6e1b2e452d1a8c0822e723d32a0ee;p=pettanr%2FclientJs.git diff --git a/0.6.x/js/01_core/04_XObject.js b/0.6.x/js/01_core/04_XObject.js index c12c3bd..500ca49 100644 --- a/0.6.x/js/01_core/04_XObject.js +++ b/0.6.x/js/01_core/04_XObject.js @@ -34,6 +34,8 @@ X[ 'Object' ] = { 'override' : X_Object_override, + 'clear' : X_Object_clear, + 'deepCopy' : X_Object_deepCopy, // TODO rename to X.Array.copy @@ -86,6 +88,20 @@ function X_Object_override( target, src ){ }; /** + * オブジェクトの全てのメンバーを破棄します。 + * @alias X.Object.clear + * @param {object} obj。 + */ +function X_Object_clear( obj, k ){ + if( obj ){ + for( k in obj ){ + delete obj[ k ]; + }; + }; +}; + + +/** * オブジェクト(object, Array)のメンバーを探索して、ディープコピーしたオブジェクトを返します。 * オブジェクトが循環参照している場合は、既にコピーしているオブジェクトが現れた時点で、先に作成しているコピーの参照を返すので無限にループすることはありません。 * @alias X.Object.deepCopy