gpt4 book ai didi

javascript - 更改当前关闭状态?

转载 作者:行者123 更新时间:2023-11-28 08:10:06 24 4
gpt4 key购买 nike

我正在尝试让一些旧代码以最小的修改即可正常工作。该代码是在假设它将在特定上下文中运行的情况下编写的。我有上下文对象。

原始代码:

function oldExample(){
console.log(window); //New Error: window is undefined
console.log(gBrowser); //New Error: gBrowser is undefined
}

新的工作代码:

function fixedExample(){
console.log(this.window);
console.log(this.gBrowser);
}

//Elsewhere
function loadData(context) {
fixedExample.call(context);
}

注释:
1. loadDataoldExample 定义在不同的文件中。
2. context 除了 windowgBrowser 之外还有其他子级;这是一个例子

有没有办法让我的 oldExample 代码正常工作,而不需要到处填充 this. ?即,如何在不同的上下文中运行 oldExample?

最佳答案

我知道如何执行此操作的唯一方法是将属性定义为当前上下文的变量:

var object = {gBrowser: 'test'};

function oldExample(){
console.log(gBrowser);
}

var gBrowser = object.gBrowser;
oldExample();

此示例输出“测试”

但这只是将属性访问移到函数定义之外,不会为您节省任何内容。

关于javascript - 更改当前关闭状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24330302/

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