{"id":3732,"date":"2026-01-15T08:46:03","date_gmt":"2026-01-15T00:46:03","guid":{"rendered":"https:\/\/ufqi.com\/blog\/?p=3732"},"modified":"2026-01-15T08:46:42","modified_gmt":"2026-01-15T00:46:42","slug":"javascript-gc-var-let-const-p2-2","status":"publish","type":"post","link":"https:\/\/ufqi.com\/blog\/javascript-gc-var-let-const-p2-2\/","title":{"rendered":"JavaScript \u5185\u5b58\u4f18\u5316 GC \u56de\u6536 \u4e0e var let \u548c const 2\/2"},"content":{"rendered":"\n<p>\u63a5\u7eed\u4e4b\u524d\u4e00\u7bc7 &lt;<a rel=\"noreferrer noopener\" href=\"https:\/\/ufqi.com\/blog\/javascript-gc-var-let-const\/\" target=\"_blank\">JavaScript \u5185\u5b58\u4f18\u5316 GC \u56de\u6536 \u4e0e var let \u548c const 1\/2<\/a>&gt; ( https:\/\/ufqi.com\/blog\/javascript-gc-var-let-const\/ ) , \u7ee7\u7eed\u8c08 JavaScript \u7684\u7a0b\u5e8f\u4f18\u5316\u5185\u5b58\u5360\u7528\u65b9\u9762\u7684\u6539\u8fdb\u3002\u4e4b\u524d\u8bf4\u5185\u5b58\u4f7f\u7528\u6548\u7387\u7684\u63d0\u5347\u5927\u81f4\u6709\u4e09\u4e2a\u65b9\u5411: <br \/>1. \u53d8\u91cf\u58f0\u660e\u7684\u5173\u952e\u5b57\u7684\u9009\u62e9 var let \u548c const \u5404\u4e2a\u4e0d\u540c\uff1b<br \/>2. \u6ce8\u610f DOM \u5bf9\u8c61\u7684\u5f15\u7528\u548c\u663e\u5f0f\u91cd\u7f6e\u4e3a\u7a7a\u91ca\u653e\u5bf9\u8c61;<br \/>3. \u6ce8\u610f \u5b9a\u65f6\u5668 \u5bf9\u8c61\u7684\u6e05\u7406\uff0c\u9700\u8981\u624b\u5de5\u663e\u5f0f\u6e05\u7406\u6389\u3002<\/p>\n\n\n\n<p>\u4e4b\u524d\u4e00\u7bc7\u5df2\u7ecf\u8bf4\u4e86 2\uff0c 3 \uff0c\u8fd9\u6b21\u6765\u8bf4\u7b2c 1 \u70b9\uff0c\u4e5f\u662f\u6700\u91cd\u8981\u7684\u4e00\u70b9\uff0c\u6240\u4ee5\u5355\u5f00\u4e86\u4e00\u7bc7\u6765\u68b3\u7406\u5173\u4e8e JavaScript \u53d8\u91cf\u58f0\u660e\u5173\u952e\u8bcd\u5bf9\u7a0b\u5e8f\u8fd0\u884c\u548c\u5185\u5b58\u5360\u7528\u7684\u5f71\u54cd\u3002\u5199\u4f5c\u8fc7\u7a0b\u4e2d\u8fd9\u6b21\u4f7f\u7528\u7684\u662f AI \u52a9\u624b \u5b57\u8282\u8df3\u52a8 \u7684 \u8c46\u5305AI .<\/p>\n\n\n\n<p>JavaScript \u4e2d <code>const<\/code>\u3001<code>var<\/code> \u548c <code>let<\/code> \u8fd9\u4e09\u4e2a\u53d8\u91cf\u58f0\u660e\u5173\u952e\u5b57\u7684\u6838\u5fc3\u533a\u522b\u5206\u522b\u662f\u5b83\u4eec\u7684\u4f5c\u7528\u57df\u3001\u53d8\u91cf\u63d0\u5347\u3001\u53ef\u8d4b\u503c\u6027\u7b49\u8fd9\u4e9b\u7279\u6027\uff0c\u8fd9\u662f JavaScript \u57fa\u7840\u4e2d\u6700\u5173\u952e\u7684\u77e5\u8bc6\u70b9\u4e4b\u4e00\uff0c\u5b83\u5c06\u76f4\u63a5\u5f71\u54cd\u4ee3\u7801\u7684\u53ef\u8bfb\u6027\u548c\u7a33\u5b9a\u6027\u3002<\/p>\n\n\n\n<h3>\u4e00\u3001\u6838\u5fc3\u533a\u522b\u603b\u89c8<\/h3>\n\n\n\n<p>\u5148\u901a\u8fc7\u8868\u683c\u5feb\u901f\u638c\u63e1\u4e09\u8005\u7684\u6838\u5fc3\u5dee\u5f02\uff0c\u518d\u9010\u4e2a\u62c6\u89e3\u7ec6\u8282\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u7279\u6027<\/th><th>var<\/th><th>let<\/th><th>const<\/th><\/tr><\/thead><tbody><tr><td>\u4f5c\u7528\u57df<\/td><td>\u51fd\u6570\u4f5c\u7528\u57df \/ \u5168\u5c40\u4f5c\u7528\u57df<\/td><td>\u5757\u7ea7\u4f5c\u7528\u57df<\/td><td>\u5757\u7ea7\u4f5c\u7528\u57df<\/td><\/tr><tr><td>\u53d8\u91cf\u63d0\u5347<\/td><td>\u63d0\u5347\u4e14\u521d\u59cb\u5316 <code>undefined<\/code><\/td><td>\u63d0\u5347\u4f46\u672a\u521d\u59cb\u5316\uff08\u6682\u65f6\u6027\u6b7b\u533a\uff09<\/td><td>\u63d0\u5347\u4f46\u672a\u521d\u59cb\u5316\uff08\u6682\u65f6\u6027\u6b7b\u533a\uff09<\/td><\/tr><tr><td>\u53ef\u91cd\u590d\u58f0\u660e<\/td><td>\u2705 \u5141\u8bb8<\/td><td>\u274c \u4e0d\u5141\u8bb8<\/td><td>\u274c \u4e0d\u5141\u8bb8<\/td><\/tr><tr><td>\u53ef\u91cd\u65b0\u8d4b\u503c<\/td><td>\u2705 \u5141\u8bb8<\/td><td>\u2705 \u5141\u8bb8<\/td><td>\u274c \u4e0d\u5141\u8bb8\uff08\u5f15\u7528\u7c7b\u578b\u5185\u5bb9\u53ef\u6539\uff09<\/td><\/tr><tr><td>\u58f0\u660e\u65f6\u5fc5\u987b\u8d4b\u521d\u59cb\u503c<\/td><td>\u274c \u53ef\u9009<\/td><td>\u274c \u53ef\u9009<\/td><td>\u2705 \u5fc5\u987b<\/td><\/tr><tr><td>\u5168\u5c40\u4f5c\u7528\u57df\u58f0\u660e<\/td><td>\u6302\u8f7d\u5230 <code>window<\/code> \u5bf9\u8c61<\/td><td>\u4e0d\u6302\u8f7d\u5230 <code>window<\/code><\/td><td>\u4e0d\u6302\u8f7d\u5230 <code>window<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3>\u4e8c\u3001\u9010\u4e2a\u62c6\u89e3 + \u4ee3\u7801\u793a\u4f8b<\/h3>\n\n\n\n<h4>1. var\uff1aES5 \u5173\u952e\u5b57\uff0c\u51fd\u6570\u4f5c\u7528\u57df\uff08\u6613\u8e29\u5751\uff09<\/h4>\n\n\n\n<p><code>var<\/code> \u662f ES5 ( ECMAScript 2009 ) \u552f\u4e00\u7684\u53d8\u91cf\u58f0\u660e\u65b9\u5f0f\uff0c\u6838\u5fc3\u95ee\u9898\u662f<strong>\u65e0\u5757\u7ea7\u4f5c\u7528\u57df<\/strong>\u548c<strong>\u63d0\u5347\u884c\u4e3a\u4e0d\u76f4\u89c2<\/strong>\uff0c\u4e5f\u662f ES6 ( ECMAScript 2015 ) \u63a8\u51fa <code>let\/const<\/code> \u7684\u4e3b\u8981\u539f\u56e0\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ 1. \u51fd\u6570\u4f5c\u7528\u57df\uff1aif\/for \u7b49\u5757\u65e0\u6cd5\u9650\u5236 var \u4f5c\u7528\u57df\nif (true) {\n  var a = 10;\n}\nconsole.log(a); \/\/ 10\uff08if \u5757\u5916\u4ecd\u80fd\u8bbf\u95ee\uff0c\u56e0\u4e3a var \u662f\u51fd\u6570\u4f5c\u7528\u57df\uff09\n\n\/\/ 2. \u53d8\u91cf\u63d0\u5347\uff1a\u58f0\u660e\u63d0\u5347\u5230\u4f5c\u7528\u57df\u9876\u90e8\uff0c\u4e14\u521d\u59cb\u5316\u4e3a undefined\nconsole.log(b); \/\/ undefined\uff08\u4e0d\u4f1a\u62a5\u9519\uff0c\u63d0\u5347\u540e\u9ed8\u8ba4\u503c\uff09\nvar b = 20;\n\n\/\/ 3. \u53ef\u91cd\u590d\u58f0\u660e + \u53ef\u91cd\u65b0\u8d4b\u503c\nvar c = 30;\nvar c = 40; \/\/ \u91cd\u590d\u58f0\u660e\u4e0d\u62a5\u9519\nc = 50;     \/\/ \u91cd\u65b0\u8d4b\u503c\u4e0d\u62a5\u9519\nconsole.log(c); \/\/ 50\n\n\/\/ 4. \u5168\u5c40\u58f0\u660e\u6302\u8f7d\u5230 window\nvar d = 100;\nconsole.log(window.d); \/\/ 100\uff08\u5168\u5c40 var \u53d8\u91cf\u4f1a\u6210\u4e3a window \u5c5e\u6027\uff09\n<\/code><\/pre>\n\n\n\n<h4>2. let\uff1aES6 \u5173\u952e\u5b57\uff0c\u5757\u7ea7\u4f5c\u7528\u57df\uff08\u66ff\u4ee3 var \u7684\u9996\u9009\uff09<\/h4>\n\n\n\n<p><code>let<\/code> \u89e3\u51b3\u4e86 <code>var<\/code> \u7684\u4f5c\u7528\u57df\u548c\u63d0\u5347\u5751\uff0c\u662f\u58f0\u660e \u201c\u53ef\u53d8\u53d8\u91cf\u201d \u7684\u9996\u9009\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ 1. \u5757\u7ea7\u4f5c\u7528\u57df\uff1aif\/for \u7b49\u5757\u53ef\u9650\u5236\u4f5c\u7528\u57df\nif (true) {\n  let a = 10;\n}\nconsole.log(a); \/\/ ReferenceError: a is not defined\uff08\u5757\u5916\u65e0\u6cd5\u8bbf\u95ee\uff09\n\n\/\/ 2. \u6682\u65f6\u6027\u6b7b\u533a\uff08TDZ\uff09\uff1a\u63d0\u5347\u4f46\u672a\u521d\u59cb\u5316\uff0c\u58f0\u660e\u524d\u8bbf\u95ee\u62a5\u9519\nconsole.log(b); \/\/ ReferenceError: Cannot access 'b' before initialization\nlet b = 20;\n\n\/\/ 3. \u4e0d\u53ef\u91cd\u590d\u58f0\u660e\uff0c\u53ef\u91cd\u65b0\u8d4b\u503c\nlet c = 30;\n\/\/ let c = 40; \/\/ SyntaxError: Identifier 'c' has already been declared\nc = 40; \/\/ \u91cd\u65b0\u8d4b\u503c\u6b63\u5e38\nconsole.log(c); \/\/ 40\n\n\/\/ 4. \u5168\u5c40\u58f0\u660e\u4e0d\u6302\u8f7d\u5230 window\nlet d = 100;\nconsole.log(window.d); \/\/ undefined\n<\/code><\/pre>\n\n\n\n<h4>3. const\uff1aES6 \u5173\u952e\u5b57\uff0c\u5757\u7ea7\u4f5c\u7528\u57df + \u53ea\u8bfb\uff08\u58f0\u660e\u5e38\u91cf\uff09<\/h4>\n\n\n\n<p><code>const<\/code> \u6838\u5fc3\u662f<strong>\u58f0\u660e \u201c\u53ea\u8bfb\u5f15\u7528\u201d<\/strong>\uff0c\u4e0d\u662f \u201c\u4e0d\u53ef\u53d8\u503c\u201d\u2014\u2014 \u57fa\u672c\u7c7b\u578b\uff08\u6570\u5b57\u3001\u5b57\u7b26\u4e32\u3001\u5e03\u5c14\uff09\u4e0d\u53ef\u6539\uff0c\u5f15\u7528\u7c7b\u578b\uff08\u5bf9\u8c61\u3001\u6570\u7ec4\uff09\u7684\u5185\u5bb9\u53ef\u6539\uff0c\u4f46\u4e0d\u80fd\u91cd\u65b0\u8d4b\u503c\u5f15\u7528\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ 1. \u58f0\u660e\u65f6\u5fc5\u987b\u8d4b\u521d\u59cb\u503c\n\/\/ const a; \/\/ SyntaxError: Missing initializer in const declaration\nconst a = 10;\n\n\/\/ 2. \u4e0d\u53ef\u91cd\u65b0\u8d4b\u503c\uff08\u57fa\u672c\u7c7b\u578b\uff09\n\/\/ a = 20; \/\/ TypeError: Assignment to constant variable.\n\n\/\/ 3. \u5f15\u7528\u7c7b\u578b\uff08\u5bf9\u8c61\/\u6570\u7ec4\uff09\uff1a\u5185\u5bb9\u53ef\u6539\uff0c\u5f15\u7528\u4e0d\u53ef\u6539\nconst obj = { name: \"\u5f20\u4e09\" };\nobj.name = \"\u674e\u56db\"; \/\/ \u6b63\u5e38\uff08\u4fee\u6539\u5bf9\u8c61\u5185\u5bb9\uff0c\u5f15\u7528\u672a\u53d8\uff09\nconsole.log(obj); \/\/ { name: '\u674e\u56db' }\n\n\/\/ obj = { age: 20 }; \/\/ \u62a5\u9519\uff08\u91cd\u65b0\u8d4b\u503c\u5f15\u7528\uff09\n\nconst arr = &#091;1, 2, 3];\narr.push(4); \/\/ \u6b63\u5e38\uff08\u4fee\u6539\u6570\u7ec4\u5185\u5bb9\uff09\nconsole.log(arr); \/\/ &#091;1,2,3,4]\n\n\/\/ 4. \u5757\u7ea7\u4f5c\u7528\u57df + \u6682\u65f6\u6027\u6b7b\u533a\uff08\u548c let \u4e00\u81f4\uff09\nif (true) {\n  const b = 20;\n  console.log(b); \/\/ 20\n}\n\/\/ console.log(b); \/\/ ReferenceError\n<\/code><\/pre>\n\n\n\n<ol><li><strong>\u4f18\u5148\u7528 const<\/strong>\uff1a\u53ea\u8981\u53d8\u91cf\u4e0d\u9700\u8981\u91cd\u65b0\u8d4b\u503c\uff0890% \u573a\u666f\uff09\uff0c\u5c31\u7528 <code>const<\/code>\uff0c\u8ba9\u4ee3\u7801\u8bed\u4e49\u66f4\u6e05\u6670\uff0c\u51cf\u5c11\u610f\u5916\u8d4b\u503c\u3002<\/li><li><strong>\u5176\u6b21\u7528 let<\/strong>\uff1a\u53ea\u6709\u53d8\u91cf\u9700\u8981\u91cd\u65b0\u8d4b\u503c\u65f6\uff08\u5982\u5faa\u73af\u53d8\u91cf\u3001\u72b6\u6001\u53d8\u91cf\uff09\uff0c\u624d\u7528 <code>let<\/code>\u3002<\/li><li><strong>\u5f7b\u5e95\u629b\u5f03 var<\/strong>\uff1a<code>var<\/code> \u7684\u4f5c\u7528\u57df\u548c\u63d0\u5347\u95ee\u9898\u5bb9\u6613\u5bfc\u81f4\u9690\u853d bug\uff0cES6 \u73af\u5883\u4e0b\u5b8c\u5168\u53ef\u4ee5\u7528 <code>let\/const<\/code> \u66ff\u4ee3\u3002<\/li><\/ol>\n\n\n\n<h3>\u4e09\u3001\u6700\u4f73\u5b9e\u8df5\u5efa\u8bae<\/h3>\n\n\n\n<h3>\u603b\u7ed3<\/h3>\n\n\n\n<ol><li><code>var<\/code> \u662f ES5 \u5173\u952e\u5b57\uff0c\u51fd\u6570\u4f5c\u7528\u57df\u3001\u53ef\u91cd\u590d\u58f0\u660e\u3001\u63d0\u5347\u540e\u521d\u59cb\u5316 <code>undefined<\/code>\uff0c\u5df2\u4e0d\u63a8\u8350\u4f7f\u7528\uff1b<\/li><li><code>let<\/code> \u662f\u5757\u7ea7\u4f5c\u7528\u57df\uff0c\u4e0d\u53ef\u91cd\u590d\u58f0\u660e\u3001\u6709\u6682\u65f6\u6027\u6b7b\u533a\uff0c\u9002\u5408\u58f0\u660e\u9700\u8981\u91cd\u65b0\u8d4b\u503c\u7684\u53d8\u91cf\uff1b<\/li><li><code>const<\/code> \u662f\u5757\u7ea7\u4f5c\u7528\u57df\uff0c\u4e0d\u53ef\u91cd\u590d\u58f0\u660e\u3001\u58f0\u660e\u65f6\u5fc5\u987b\u8d4b\u503c\u3001\u4e0d\u53ef\u91cd\u65b0\u8d4b\u503c\uff08\u4f46\u5f15\u7528\u7c7b\u578b\u5185\u5bb9\u53ef\u6539\uff09\uff0c\u9002\u5408\u58f0\u660e\u5e38\u91cf \/ \u53ea\u8bfb\u5f15\u7528\u3002<\/li><\/ol>\n\n\n\n<p>\u8bb0\u4f4f\u6838\u5fc3\u539f\u5219\uff1a<strong>\u80fd\u7528 const \u5c31\u4e0d\u7528 let\uff0c\u80fd\u7528 let\/const \u5c31\u4e0d\u7528 var<\/strong>\uff0c\u8fd9\u662f\u73b0\u4ee3 JavaScript \u5f00\u53d1\u7684\u901a\u7528\u89c4\u8303\u3002<\/p>\n\n\n\n<h3><strong>\u56db\u3001\u6302\u8f7d\u53d8\u91cf\u5230 window \u5168\u5c40<\/strong><\/h3>\n\n\n\n<p>\u65e2\u7136\u63a8\u8350\u4f18\u5148\u4f7f\u7528 let \u548c const \uff0c\u90a3\u5c31\u7acb\u5373\u91c7\u7528\uff0c\u53ef\u662f\u95ee\u9898\u4e5f\u6765\u4e86\u3002\u8fd9\u4e24\u4e2a\u5173\u952e\u8bcd\u58f0\u660e\u7684\u53d8\u91cf\u9ed8\u8ba4\u90fd\u662f\u5757\u7ea7\u4f5c\u7528\u57df\uff0c\u4e0d\u80fd\u66dd\u9732\u5230 window \u9875\u9762\u5168\u5c40\uff0c\u5982\u5e0c\u671b\u80fd\u591f\u5168\u5c40\u8bbf\u95ee\u5230\u67d0\u4e2a let \u6216\u8005 const \u58f0\u660e\u7684\u53d8\u91cf\uff0c\u8be5\u5982\u4f55\u64cd\u4f5c?<\/p>\n\n\n\n<p><code>const<\/code>\/<code>let<\/code> \u58f0\u660e\u7684\u53d8\u91cf\u9ed8\u8ba4\u662f<strong>\u5757\u7ea7\u4f5c\u7528\u57df<\/strong>\uff0c\u4e14\u4e0d\u4f1a\u81ea\u52a8\u6210\u4e3a <code>window<\/code> \u7684\u5c5e\u6027\uff08\u8fd9\u4e5f\u662f\u5b83\u4eec\u548c <code>var<\/code> \u7684\u5173\u952e\u533a\u522b\u4e4b\u4e00\uff09\u3002\u8981\u5b9e\u73b0\u5168\u5c40\u8bbf\u95ee\uff0c\u6838\u5fc3\u662f<strong>\u624b\u52a8\u7ed9 <code>window<\/code> \u5168\u5c40\u5bf9\u8c61\u6dfb\u52a0\u5c5e\u6027<\/strong>\uff0c\u5c06 <code>const<\/code> \u53d8\u91cf\u7684\u503c\u8d4b\u7ed9\u8fd9\u4e2a\u5c5e\u6027\uff1b\u5982\u679c\u5e0c\u671b <code>window<\/code> \u4e0a\u7684 \u201c\u5168\u5c40\u5e38\u91cf\u201d \u4e5f\u5177\u5907 <code>const<\/code> \u7684 \u201c\u4e0d\u53ef\u91cd\u65b0\u8d4b\u503c\u201d \u7279\u6027\uff0c\u53ef\u901a\u8fc7 <code>Object.defineProperty<\/code> \u9650\u5236\u5c5e\u6027\u7684\u53ef\u5199\u6027\u3002<\/p>\n\n\n\n<h3>\u5177\u4f53\u5b9e\u73b0\u65b9\u6cd5<\/h3>\n\n\n\n<h4>\u65b9\u6cd5 1\uff1a\u57fa\u7840\u6302\u8f7d\uff08\u7b80\u5355\u5feb\u6377\uff0cwindow \u5c5e\u6027\u53ef\u4fee\u6539\uff09<\/h4>\n\n\n\n<p>\u5148\u58f0\u660e <code>const<\/code> \u53d8\u91cf\uff0c\u518d\u5c06\u5176\u503c\u8d4b\u7ed9 <code>window<\/code> \u7684\u5c5e\u6027\uff0c\u5373\u53ef\u5b9e\u73b0\u5168\u5c40\u8bbf\u95ee\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ 1. \u58f0\u660e\u5757\u7ea7\u4f5c\u7528\u57df\u7684 const \u53d8\u91cf\nconst API_BASE_URL = 'https:\/\/api.example.com';\nconst MAX_SIZE = 100;\n\n\/\/ 2. \u6302\u8f7d\u5230 window \u5168\u5c40\u5bf9\u8c61\nwindow.API_BASE_URL = API_BASE_URL;\nwindow.MAX_SIZE = MAX_SIZE;\n\n\/\/ 3. \u4efb\u610f\u4f5c\u7528\u57df\u5747\u53ef\u8bbf\u95ee\nfunction test() {\n  console.log(window.API_BASE_URL); \/\/ \u8f93\u51fa\uff1ahttps:\/\/api.example.com\n  console.log(MAX_SIZE); \/\/ \u82e5 test \u51fd\u6570\u6240\u5728\u4f5c\u7528\u57df\u65e0 MAX_SIZE\uff0c\u76f4\u63a5\u8bbf\u95ee\u4f1a\u62a5\u9519\uff0c\u9700\u7528 window.MAX_SIZE\n}\ntest();\n\n\/\/ \u6ce8\u610f\uff1awindow \u4e0a\u7684\u5c5e\u6027\u9ed8\u8ba4\u53ef\u4fee\u6539\uff08\u548c const \u539f\u53d8\u91cf\u4e0d\u540c\uff09\nwindow.MAX_SIZE = 200;\nconsole.log(window.MAX_SIZE); \/\/ \u8f93\u51fa\uff1a200\uff08\u53ef\u4fee\u6539\uff09\nAPI_BASE_URL = 'xxx'; \/\/ \u62a5\u9519\uff1aconst \u539f\u53d8\u91cf\u4e0d\u53ef\u91cd\u65b0\u8d4b\u503c\n<\/code><\/pre>\n\n\n\n<h4>\u65b9\u6cd5 2\uff1a\u4e25\u683c\u6302\u8f7d\uff08\u6a21\u62df const \u7279\u6027\uff0cwindow \u5c5e\u6027\u4e0d\u53ef\u4fee\u6539\uff09<\/h4>\n\n\n\n<p>\u5982\u679c\u5e0c\u671b <code>window<\/code> \u4e0a\u7684\u5168\u5c40 \u201c\u5e38\u91cf\u201d \u4e5f\u50cf <code>const<\/code> \u4e00\u6837\u4e0d\u53ef\u91cd\u65b0\u8d4b\u503c\u3001\u4e0d\u53ef\u5220\u9664\uff0c\u53ef\u4f7f\u7528 <code>Object.defineProperty<\/code> \u914d\u7f6e\u5c5e\u6027\u63cf\u8ff0\u7b26\uff0c\u8fd9\u662f\u66f4\u7b26\u5408 <code>const<\/code> \u8bed\u4e49\u7684\u505a\u6cd5\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u5b9a\u4e49\u5168\u5c40\u5e38\u91cf\u5e76\u6302\u8f7d\u5230 window\uff0c\u4e14\u4e0d\u53ef\u4fee\u6539\u3001\u4e0d\u53ef\u5220\u9664\nObject.defineProperty(window, 'PI', {\n  value: 3.1415926, \/\/ \u5e38\u91cf\u503c\n  writable: false,   \/\/ \u6838\u5fc3\uff1a\u8bbe\u7f6e\u4e3a false\uff0c\u7981\u6b62\u91cd\u65b0\u8d4b\u503c\uff08\u6a21\u62df const\uff09\n  enumerable: true,  \/\/ \u53ef\u679a\u4e3e\uff08\u80fd\u88ab for...in \u904d\u5386\u5230\uff09\n  configurable: false \/\/ \u4e0d\u53ef\u914d\u7f6e\uff08\u7981\u6b62\u5220\u9664\u5c5e\u6027\u3001\u4fee\u6539\u5c5e\u6027\u63cf\u8ff0\u7b26\uff09\n});\n\n\/\/ \u5168\u5c40\u8bbf\u95ee\nconsole.log(window.PI); \/\/ \u8f93\u51fa\uff1a3.1415926\nconsole.log(PI); \/\/ \u5168\u5c40\u4f5c\u7528\u57df\u4e0b\u53ef\u76f4\u63a5\u8bbf\u95ee\uff08\u65e0\u9700 window.\uff09\n\n\/\/ \u5c1d\u8bd5\u4fee\u6539\/\u5220\u9664\uff0c\u9a8c\u8bc1 const \u7279\u6027\nwindow.PI = 3; \/\/ \u65e0\u62a5\u9519\uff0c\u4f46\u8d4b\u503c\u65e0\u6548\uff08\u4e25\u683c\u6a21\u5f0f\u4e0b\u4f1a\u62a5\u9519\uff09\nconsole.log(window.PI); \/\/ \u4ecd\u8f93\u51fa\uff1a3.1415926\n\ndelete window.PI; \/\/ \u65e0\u6cd5\u5220\u9664\nconsole.log(window.PI); \/\/ \u4ecd\u8f93\u51fa\uff1a3.1415926\n\n\/\/ \u4e25\u683c\u6a21\u5f0f\u4e0b\u4fee\u6539\u4f1a\u76f4\u63a5\u62a5\u9519\uff08\u63a8\u8350\u5f00\u542f\u4e25\u683c\u6a21\u5f0f\uff09\n'use strict';\nwindow.PI = 3; \/\/ \u62a5\u9519\uff1aTypeError: Cannot assign to read only property 'PI' of object '#&lt;Window&gt;'<\/code><\/pre>\n\n\n\n<ul><li>\u5168\u5c40\u5e38\u91cf\u5efa\u8bae\u7528<strong>\u5927\u5199\u5b57\u6bcd + \u4e0b\u5212\u7ebf<\/strong>\u547d\u540d\uff08\u5982 <code>API_BASE_URL<\/code>\uff09\uff0c\u533a\u5206\u666e\u901a\u53d8\u91cf\uff0c\u63d0\u9ad8\u53ef\u8bfb\u6027\u3002<\/li><\/ul>\n\n\n\n<h3>\u603b\u7ed3<\/h3>\n\n\n\n<ol><li>\u6838\u5fc3\u65b9\u6848\uff1a\u901a\u8fc7 <code>window.xxx = const\u53d8\u91cf<\/code> \u6216 <code>Object.defineProperty<\/code> \u5c06 const \u53d8\u91cf\u6302\u8f7d\u5230\u5168\u5c40\u5bf9\u8c61\uff0c\u5b9e\u73b0\u8de8\u4f5c\u7528\u57df\u8bbf\u95ee\uff1b<\/li><li>\u5982\u9700\u6a21\u62df <code>const<\/code> \u7684 \u201c\u4e0d\u53ef\u91cd\u65b0\u8d4b\u503c\u201d \u7279\u6027\uff0c\u5fc5\u987b\u7528 <code>Object.defineProperty<\/code> \u8bbe\u7f6e <code>writable: false<\/code>\uff1b<\/li><li>\u539f <code>const<\/code> \u53d8\u91cf\u7684\u5757\u7ea7\u4f5c\u7528\u57df\u7279\u6027\u4e0d\u5f71\u54cd window \u5c5e\u6027\u7684\u5168\u5c40\u8bbf\u95ee\uff0c\u5168\u5c40\u8bbf\u95ee\u65f6\u5efa\u8bae\u663e\u5f0f\u5199 <code>window.xxx<\/code>\uff08\u907f\u514d\u4f5c\u7528\u57df\u51b2\u7a81\uff09\u3002<\/li><\/ol>\n\n\n\n<p>\u8fd9\u79cd\u65b9\u5f0f\u65e2\u4fdd\u7559\u4e86 <code>const<\/code> \u7684\u8bed\u4e49\uff08\u4e0d\u53ef\u968f\u610f\u4fee\u6539\uff09\uff0c\u53c8\u5b9e\u73b0\u4e86\u53d8\u91cf\u7684\u5168\u5c40\u5171\u4eab\uff0c\u662f\u524d\u7aef\u9879\u76ee\u4e2d\u7ba1\u7406\u5168\u5c40\u5e38\u91cf\u7684\u5e38\u7528\u6700\u4f73\u5b9e\u8df5\u3002<\/p>\n\n\n\n<p>\u7ecf\u8fc7\u524d\u8ff0\u4e09\u9879\u91cd\u8981\u4fee\u6539\uff0c\u5728 <a href=\"https:\/\/ufqi.com\/?mod=finance\" target=\"_blank\" rel=\"noreferrer noopener\">UfqiFina \u6709\u798f\u91d1\u878d<\/a> \u7684\u9879\u76ee\u5177\u4f53\u5b9e\u8df5\u4e2d\uff0c\u6211\u4eec\u89c2\u6d4b\u5230\u7684\u5355\u9875\u9762\u5e94\u7528\u5185\u5b58\u5360\u7528\u60c5\u51b5\uff1a<br \/>\u5cf0\u503c 3000MB~5000MB  \u2193\u2192  500MB~1500MB \u3002<br \/>\u8fd0\u884c\u6027\u80fd\u548c\u5185\u5b58\u4f18\u5316\u5927\u7ea6\u6709 2 \u500d \u81f3 10 \u500d \u7684\u63d0\u5347\u3002<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u63a5\u7eed\u4e4b\u524d\u4e00\u7bc7 &lt;JavaScript \u5185\u5b58\u4f18\u5316 GC \u56de\u6536 \u4e0e var l &hellip; <a href=\"https:\/\/ufqi.com\/blog\/javascript-gc-var-let-const-p2-2\/\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[301,6,2],"tags":[840,836,316,838,839],"_links":{"self":[{"href":"https:\/\/ufqi.com\/blog\/wp-json\/wp\/v2\/posts\/3732"}],"collection":[{"href":"https:\/\/ufqi.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ufqi.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ufqi.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ufqi.com\/blog\/wp-json\/wp\/v2\/comments?post=3732"}],"version-history":[{"count":2,"href":"https:\/\/ufqi.com\/blog\/wp-json\/wp\/v2\/posts\/3732\/revisions"}],"predecessor-version":[{"id":3734,"href":"https:\/\/ufqi.com\/blog\/wp-json\/wp\/v2\/posts\/3732\/revisions\/3734"}],"wp:attachment":[{"href":"https:\/\/ufqi.com\/blog\/wp-json\/wp\/v2\/media?parent=3732"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ufqi.com\/blog\/wp-json\/wp\/v2\/categories?post=3732"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ufqi.com\/blog\/wp-json\/wp\/v2\/tags?post=3732"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}