Skip to content

Commit a4d4c50

Browse files
lihan178lihan13
andauthored
fix: 文案重复 (javascript-tutorial#1168)
Co-authored-by: lihan13 <lihan13@baidu.com>
1 parent 49cfc5c commit a4d4c50

File tree

1 file changed

+1
-1
lines changed
  • 1-js/06-advanced-functions/07-new-function

1 file changed

+1
-1
lines changed

1-js/06-advanced-functions/07-new-function/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ getFunc()(); // *!*"test"*/!*,从 getFunc 的词法环境中获取的
9292

9393
问题在于,在将 JavaScript 发布到生产环境之前,需要使用 **压缩程序(minifier)** 对其进行压缩 —— 一个特殊的程序,通过删除多余的注释和空格等压缩代码 —— 更重要的是,将局部变量命名为较短的变量。
9494

95-
例如,如果一个函数有 `let userName`,压缩程序会把它替换为 `let a`(如果 a 已被占用了,那就使用其他字符),剩余的局部变量也会被进行类似的替换。一般来说这样的替换是安全的,毕竟这些变量是函数内的局部变量,函数外的任何东西都无法访问它。在函数内部,压缩程序会替换所有使用了使用了这些变量的代码。压缩程序很聪明,它会分析代码的结构,而不是呆板地查找然后替换,因此它不会“破坏”你的程序。
95+
例如,如果一个函数有 `let userName`,压缩程序会把它替换为 `let a`(如果 a 已被占用了,那就使用其他字符),剩余的局部变量也会被进行类似的替换。一般来说这样的替换是安全的,毕竟这些变量是函数内的局部变量,函数外的任何东西都无法访问它。在函数内部,压缩程序会替换所有使用了这些变量的代码。压缩程序很聪明,它会分析代码的结构,而不是呆板地查找然后替换,因此它不会“破坏”你的程序。
9696

9797
但是在这种情况下,如果使 `new Function` 可以访问自身函数以外的变量,它也很有可能无法找到重命名的 `userName`,这是因为新函数的创建发生在代码压缩以后,变量名已经被替换了。
9898

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy