javascript - 在函数内的 if 语句中调用变量

标签 javascript scope

您好,我遇到了一个问题,即无法在 openImage 函数的 if 语句中调用变量 imgNotSet。我的问题是我是否需要给我的变量另一个作用域来调用它或者我做错了什么?

var imgNotSet = true;

function openImage() {
	if (imgNotSet) {
		var lightViewImg = document.createElement("IMG");
		document.body.appendChild(lightViewImg);
		document.getElementsByTagName("img")[0].setAttribute("src","imgplaceholder");
		var imgNotSet = false;
	} else {
		console.log("Img already set");
	}
}

最佳答案

My Question is do I need to give my variable a special scope to call it

没有。您已经这样做了,这就是问题所在。

var imgNotSet = false;

您已在此处创建了另一个同名变量,但其作用域仅限于该函数的本地范围。不要那样做。删除 var

关于javascript - 在函数内的 if 语句中调用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39389983/

相关文章:

javascript - Firebase 应用的 Mocha 单元测试

javascript - Sequelize如何添加自定义排序功能?

javascript - 将附加参数传递给函数调用 (lodash)

javascript - 对象函数内的作用域?

javascript - 从第一个对象创建的另一个对象中访问对象原型(prototype)的变量

javascript - Jquery:不能淡入 <span> 元素

javascript - 修复正则表达式以不从文本中重新抓取旧 URL (JS)

javascript - 状态改变后调用方法

javascript - 从 socket.io 处理程序访问父范围

javascript - 尽管有全局引用,javascript 仍会删除我的 var