我有一个
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之前是假的我使用onclick将其设置为true,并且由于javascript一次运行一行,因此在我甚至可以单击图像之前运行console.log(imgSrc)为false。
所以,我需要:
将布尔值声明为false - >单击图像,将布尔值设置为true - > console.logging boolean(并看到true)
但我现在正在做的是: 将布尔值声明为false - > console.logging boolean(并看到false {因为它尚未设置为true}} - >单击图像并将布尔值设置为true。
我该如何解决这个问题?
答案 0 :(得分:1)
只需将您的日志记录语句移动到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);
};
答案 1 :(得分:1)
在第一行代码中,
var imgSet = false;
需要改为
var imgSrc = false;