gpt4 book ai didi

Javascript 作用域问题

转载 作者:行者123 更新时间:2023-11-30 06:02:46 25 4
gpt4 key购买 nike

我正在调用此函数,将结果分配给回调中的一个变量,然后记录结果,但我一直未定义。

var id;
test.getID(function(result) {
id=result;
});
console.log(id);

如果我将其更改为下面的代码,那么我可以看到记录的 id。

var id;
test.getID(function(result) {
id=result;
console.log(id);
});

您知道我可以做些什么来访问 getID 函数的结果吗?

最佳答案

getID 函数需要调用其参数,然后您才能看到 id 发生变化。

由于您没有提供它的实现,我们假设它是这样的。密切关注getID的实现,它接受一个函数作为参数,f,然后调用它。这是设置 id 的时间。

var id;
var test = {
getID: function(f){
var result = 666; //assume result comes from somewhere
f(result); //Note: this is where your function is getting invoked.
}
};

test.getID(function(result) {
id = result;
});

console.log(id); //prints 666

关于Javascript 作用域问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7167261/

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