gpt4 book ai didi

javascript - 使用输入从函数内部更改全局变量的值

转载 作者:行者123 更新时间:2023-12-01 03:57:00 25 4
gpt4 key购买 nike

我有一个

var imgSrc = false;
dom.getElByTag('img')[0].onclick = function(){
//set src of image
changeBool(dom.getElByTag('img')[0]);
}

function changeBool(n){
if(n.src ===="file/path"){
imgSrc = true;
};

console.log(imgSrc);

所以问题是imgSrc只在changeBool中本地更改,所以如果我console.log imgSrc它将返回false,无论我把它放在哪里(这可能是因为页面已经加载并确定imgSrc之前是false我通过 onclick 将其设置为 true,并且由于 javascript 一次运行一行,因此在我单击图像之前,它已将 console.log(imgSrc) 作为 false 运行。

所以,我需要:

将 bool 值声明为 false -> 单击图像,将 bool 值设置为 true -> console.logging bool 值(并看到 true)

但我现在正在做的是:将 bool 值声明为 false -> console.logging 该 bool 值(并看到 false {因为它尚未设置为 true} -> 单击图像并将 bool 值设置为 true。

我该如何解决这个问题?

最佳答案

只需将日志语句移动到 changeBool 函数中,如下所示:

var imgSet = false;
dom.getElByTag('img')[0].onclick = function(){
//set src of image
changeBool(dom.getElByTag('img')[0]);
}

function changeBool(n){
if(n.src ===="file/path") imgSrc = true;
console.log(imgSrc);
};

关于javascript - 使用输入从函数内部更改全局变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42571742/

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