gpt4 book ai didi

javascript - 在 JavaScript 中指定全局上下文

转载 作者:行者123 更新时间:2023-12-02 07:32:40 24 4
gpt4 key购买 nike

在 JavaScript 中,如果没有定义局部变量,是否可以指定将使用的全局上下文?

例子:

(function foo() {
console.log(bar);
})();

它实际上会打印 window.bar

我能以某种方式改变全局上下文吗?像这样的:

var myGlobalContext = { bar: "foo" };

(function foo() {
console.log(bar);
}).applyWithGlobal(myGlobalContext);

它应该打印 myGlobalContext.bar

或者附加 this 作为全局上下文?

我希望这个例子足够清楚。

最佳答案

您可以做的最接近的事情是使用 with 语句屏蔽全局变量。

var myGlobalContext = {bar: "foo"};

with(myGlobalContext)
{
console.log(bar);
}

这与更改全局上下文不同,因为在 myGlobalContext 中找不到的其他全局变量仍然存在。

一般来说,with 语句是bad ,但听起来您的用例可能是有意义的。

关于javascript - 在 JavaScript 中指定全局上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20338445/

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