gpt4 book ai didi

javascript - global in (function(global){ some code .. })(this) 是做什么的?

转载 作者:行者123 更新时间:2023-11-30 10:42:30 26 4
gpt4 key购买 nike

我正在考虑向 JSON 添加注释并找到 this script在处理使 JSON 有效之前将它们去除。我只是想了解如何使 JSON.minify() 函数可用?

开始于

(function(global){ ...

这对我来说很奇怪。我在 MDN 上发现了“global is a property of a RegExp instance, not the RegExp object”,但我根本不明白它在这个脚本中是如何工作的。

最佳答案

这段代码:

(function(global){
// your code here
// referring to the variable named "global" in this scope
// will be a reference to the default javascript global object
})(this);

是一种构造,用于将全局对象(无论它是什么)分配给标记为 global 的参数,用于此自执行函数内的所有代码。

自执行函数用于定义一个单独的执行范围,这样您在这个其他范围内定义的任何函数或变量都不会干扰或可以从该范围外直接访问(将您的范围与其他代码范围隔离开)。

在浏览器中,全局对象是 window 对象,但是如果您打算让代码在其他 javascript 环境(比如服务器上没有 node.js)中工作,那么全局对象可能不是 window,这是一种从默认 this 值中提取全局值的方法,将其放入另一个变量中,然后您可以在代码块中的任何位置引用该变量.

对于代码意味着只能在浏览器中运行,这真的没有意义。当您需要全局对象时,您可以只引用 window

关于javascript - global in (function(global){ some code .. })(this) 是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10324621/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com