{"id":262,"date":"2017-05-11T13:35:25","date_gmt":"2017-05-11T05:35:25","guid":{"rendered":"http:\/\/yusemo.com\/?p=262"},"modified":"2023-03-21T13:08:12","modified_gmt":"2023-03-21T05:08:12","slug":"%e6%b7%b1%e5%85%a5%e5%89%96%e6%9e%90-javascript-%e7%9a%84%e6%b7%b1%e5%a4%8d%e5%88%b6","status":"publish","type":"post","link":"https:\/\/yusemo.com\/?p=262","title":{"rendered":"\u6df1\u5165\u5256\u6790 JavaScript \u7684\u6df1\u590d\u5236"},"content":{"rendered":"<p><a href=\"http:\/\/www.cnblogs.com\/charling\/p\/3452677.html\">http:\/\/www.cnblogs.com\/charling\/p\/3452677.html<\/a><br \/>\njQuery.extend()\u6e90\u7801\u89e3\u8bfb\u6df1\u62f7\u8d1d\u6216\u8005\u6d45\u62f7\u8d1d<br \/>\n<a href=\"http:\/\/jerryzou.com\/posts\/dive-into-deep-clone-in-javascript\/\">http:\/\/jerryzou.com\/posts\/dive-into-deep-clone-in-javascript\/<\/a><br \/>\n\u6df1\u5165\u5256\u6790JavaScript \u7684\u6df1\u590d\u5236<\/p>\n<p>\u8bb0\u5f55\u5982\u4e0b\uff1a<br \/>\n1\u3001jQuery.clone<span class=\"s1\">()&#8212;&#8212;dom\u5bf9\u8c61\u7684\u590d\u5236<br \/>\n\u5728 jQuery \u4e2d\u4e5f\u6709\u8fd9\u4e48\u4e00\u4e2a\u53eb<\/p>\n<div class=\"codecolorer-container text default\" style=\"overflow:auto;white-space:nowrap;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/><\/div><\/td><td><div class=\"text codecolorer\">$.clone()<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>\u7684\u65b9\u6cd5\uff0c\u53ef\u662f\u5b83\u5e76\u4e0d\u662f\u7528\u4e8e\u4e00\u822c\u7684 JS \u5bf9\u8c61\u7684\u6df1\u590d\u5236\uff0c\u800c\u662f\u7528\u4e8e DOM \u5bf9\u8c61\u3002<br \/>\n2\u3001jQuery.extend<span class=\"s1\">()&#8212;&#8212;\u6df1\u590d\u5236\uff08\u9012\u5f52extend\uff09<br \/>\n3\u3001lodash \u2014\u2014 _.clone() \/ _.cloneDeep()<\/p>\n<div class=\"codecolorer-container text default\" style=\"overflow:auto;white-space:nowrap;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/><\/div><\/td><td><div class=\"text codecolorer\">_.clone(obj, true)<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>\u7b49\u4ef7\u4e8e<\/p>\n<div class=\"codecolorer-container text default\" style=\"overflow:auto;white-space:nowrap;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/><\/div><\/td><td><div class=\"text codecolorer\">_.cloneDeep(obj)<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<h2 id=\"\u6bd4\u8f83\u5404\u4e2a\u6df1\u590d\u5236\u65b9\u6cd5\">\u6bd4\u8f83\u5404\u4e2a\u6df1\u590d\u5236\u65b9\u6cd5<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u7279\u6027<\/th>\n<th>jQuery<\/th>\n<th>lodash<\/th>\n<th>JSON.parse<\/th>\n<th>\u6240\u8c13\u201c\u62e5\u62b1\u672a\u6765\u7684\u6df1\u590d\u5236\u5b9e\u73b0\u201d<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u6d4f\u89c8\u5668\u517c\u5bb9\u6027<\/td>\n<td>IE6+ (1.x) &amp; IE9+ (2.x)<\/td>\n<td>IE6+ (Compatibility) &amp; IE9+ (Modern)<\/td>\n<td>IE8+<\/td>\n<td>IE9+<\/td>\n<\/tr>\n<tr>\n<td>\u80fd\u591f\u6df1\u590d\u5236\u5b58\u5728\u73af\u7684\u5bf9\u8c61<\/td>\n<td>\u629b\u51fa\u5f02\u5e38 RangeError: Maximum call stack size exceeded<\/td>\n<td>\u652f\u6301<\/td>\n<td>\u629b\u51fa\u5f02\u5e38 TypeError: Converting circular structure to JSON<\/td>\n<td>\u652f\u6301<\/td>\n<\/tr>\n<tr>\n<td>\u5bf9 Date, RegExp \u7684\u6df1\u590d\u5236\u652f\u6301<\/td>\n<td>\u00d7<\/td>\n<td>\u652f\u6301<\/td>\n<td>\u00d7<\/td>\n<td>\u652f\u6301<\/td>\n<\/tr>\n<tr>\n<td>\u5bf9 ES6 \u65b0\u5f15\u5165\u7684\u6807\u51c6\u5bf9\u8c61\u7684\u6df1\u590d\u5236\u652f\u6301<\/td>\n<td>\u00d7<\/td>\n<td>\u652f\u6301<\/td>\n<td>\u00d7<\/td>\n<td>\u00d7<\/td>\n<\/tr>\n<tr>\n<td>\u590d\u5236\u6570\u7ec4\u7684\u5c5e\u6027<\/td>\n<td>\u00d7<\/td>\n<td><a href=\"https:\/\/github.com\/lodash\/lodash\/blob\/5166064453ed6164b76fb20f8dd340d23dd334e5\/lodash._baseclone\/index.js#215\">\u4ec5\u652f\u6301RegExp#exec\u8fd4\u56de\u7684\u6570\u7ec4\u7ed3\u679c<\/a><\/td>\n<td>\u00d7<\/td>\n<td>\u652f\u6301<\/td>\n<\/tr>\n<tr>\n<td>\u662f\u5426\u4fdd\u7559\u975e\u6e90\u751f\u5bf9\u8c61\u7684\u7c7b\u578b<\/td>\n<td>\u00d7<\/td>\n<td>\u00d7<\/td>\n<td>\u00d7<\/td>\n<td>\u652f\u6301<\/td>\n<\/tr>\n<tr>\n<td>\u590d\u5236\u4e0d\u53ef\u679a\u4e3e\u5143\u7d20<\/td>\n<td>\u00d7<\/td>\n<td>\u00d7<\/td>\n<td>\u00d7<\/td>\n<td>\u00d7<\/td>\n<\/tr>\n<tr>\n<td>\u590d\u5236\u51fd\u6570<\/td>\n<td>\u00d7<\/td>\n<td>\u00d7<\/td>\n<td>\u00d7<\/td>\n<td>\u00d7<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"p1\">\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n","protected":false},"excerpt":{"rendered":"<p>http:\/\/www.cnblogs.com\/charling\/p\/3452677.html jQuery.e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/yusemo.com\/index.php?rest_route=\/wp\/v2\/posts\/262"}],"collection":[{"href":"https:\/\/yusemo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yusemo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yusemo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yusemo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=262"}],"version-history":[{"count":4,"href":"https:\/\/yusemo.com\/index.php?rest_route=\/wp\/v2\/posts\/262\/revisions"}],"predecessor-version":[{"id":434,"href":"https:\/\/yusemo.com\/index.php?rest_route=\/wp\/v2\/posts\/262\/revisions\/434"}],"wp:attachment":[{"href":"https:\/\/yusemo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yusemo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yusemo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}