From bcdad46e8324b03be3bcc6c1a765ce218b25a187 Mon Sep 17 00:00:00 2001 From: Rong Shen Date: Thu, 12 Apr 2012 11:42:53 +0800 Subject: [PATCH] Recipe-Clone(Deep Copy): Add clone support for Date and RegExp type --- chapters/classes_and_objects/cloning.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/chapters/classes_and_objects/cloning.md b/chapters/classes_and_objects/cloning.md index bdf508c..3b1ceba 100644 --- a/chapters/classes_and_objects/cloning.md +++ b/chapters/classes_and_objects/cloning.md @@ -14,6 +14,17 @@ clone = (obj) -> if not obj? or typeof obj isnt 'object' return obj + if obj instanceof Date + return new Date(obj.getTime()) + + if obj instanceof RegExp + flags = '' + flags += 'g' if obj.global? + flags += 'i' if obj.ignoreCase? + flags += 'm' if obj.multiline? + flags += 'y' if obj.sticky? + return new RegExp(obj.source, flags) + newInstance = new obj.constructor() for key of obj