{"id":418,"date":"2023-03-19T16:20:57","date_gmt":"2023-03-19T08:20:57","guid":{"rendered":"http:\/\/yusemo.com\/?p=418"},"modified":"2023-03-21T22:33:20","modified_gmt":"2023-03-21T14:33:20","slug":"%e5%ae%9e%e7%8e%b0new%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/yusemo.com\/?p=418","title":{"rendered":"\u5b9e\u73b0new\u65b9\u6cd5"},"content":{"rendered":"<p>new \u8fd0\u7b97\u7b26\u521b\u5efa\u4e00\u4e2a\u7528\u6237\u5b9a\u4e49\u7684\u5bf9\u8c61\u7c7b\u578b\u7684\u5b9e\u4f8b\u6216\u5177\u6709\u6784\u9020\u51fd\u6570\u7684\u5185\u7f6e\u5bf9\u8c61\u7c7b\u578b\u4e4b\u4e00<\/p>\n<p>\u5b9e\u73b0new\uff0c\u9996\u5148\u5c31\u8981\u77e5\u9053 new \u64cd\u4f5c\uff0c\u91cc\u9762\u5230\u5e95\u505a\u4e86\u4e9b\u5565\uff1f<\/p>\n<ul>\n<li>\u521b\u5efa\u4e00\u4e2a\u7a7a\u5bf9\u8c61\uff0c\u5c06\u5b83\u7684\u5f15\u7528\u8d4b\u7ed9this\uff0c\u7ee7\u627f\u51fd\u6570\u7684\u539f\u578b\u3002<\/li>\n<li>\u901a\u8fc7 this \u5c06\u5c5e\u6027\u548c\u65b9\u6cd5\u6dfb\u52a0\u81f3\u8fd9\u4e2a\u5bf9\u8c61<\/li>\n<li>\u6700\u540e\u8fd4\u56de this \u6307\u5411\u7684\u65b0\u5bf9\u8c61\uff0c\u4e5f\u5c31\u662f\u5b9e\u4f8b\uff08\u5982\u679c\u6ca1\u6709\u624b\u52a8\u8fd4\u56de\u5176\u4ed6\u7684\u5bf9\u8c61\uff09<\/li>\n<\/ul>\n<p>\u5b9e\u73b0\u65b9\u6cd5<\/p>\n<pre>\nfunction myNew(Parent, ...args) {\n  \/\/ \u521b\u5efa\u4e00\u4e2a\u7a7a\u5bf9\u8c61\uff0c\u57fa\u7840\u7236\u7ea7\u7684\u539f\u578b\n  let obj = Object.create(Parent.prototype)\n  \/\/ \u628athis\u5bf9\u8c61\u548c\u5269\u4f59\u53c2\u6570\u7ed9\u6784\u9020\u51fd\u6570\n  let result = Parent.apply(obj, args)\n  \/\/ \u6700\u540e\u8fd4\u56de\u5bf9\u8c61\n  return typeof result === 'object' ? result : obj\n}\n\n\/\/ new\u6784\u9020\u51fd\u6570\u7684\u6a21\u62df\u5b9e\u73b0\nconst _new = function(){\n    let obj = new Object();\n    let _constructor = [].shift.call(arguments);\n\n    \/\/ \u4f7f\u7528\u4e2d\u95f4\u51fd\u6570\u6765\u7ef4\u62a4\u539f\u578b\u5173\u7cfb\n    const F = function(){};\n    F.prototype = _constructor.prototype;\n    obj = new F();\n\n    let res = _constructor.apply(obj,arguments);\n    return typeof res === 'object' ? res || obj : obj;\n}\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>new \u8fd0\u7b97\u7b26\u521b\u5efa\u4e00\u4e2a\u7528\u6237\u5b9a\u4e49\u7684\u5bf9\u8c61\u7c7b\u578b\u7684\u5b9e\u4f8b\u6216\u5177\u6709\u6784\u9020\u51fd\u6570\u7684\u5185\u7f6e\u5bf9\u8c61\u7c7b\u578b\u4e4b\u4e00 \u5b9e\u73b0new\uff0c\u9996\u5148\u5c31\u8981\u77e5\u9053 ne [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[42,39],"tags":[],"_links":{"self":[{"href":"https:\/\/yusemo.com\/index.php?rest_route=\/wp\/v2\/posts\/418"}],"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=418"}],"version-history":[{"count":4,"href":"https:\/\/yusemo.com\/index.php?rest_route=\/wp\/v2\/posts\/418\/revisions"}],"predecessor-version":[{"id":454,"href":"https:\/\/yusemo.com\/index.php?rest_route=\/wp\/v2\/posts\/418\/revisions\/454"}],"wp:attachment":[{"href":"https:\/\/yusemo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=418"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yusemo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=418"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yusemo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}