这是我的代码
var a = this.innerHTML;
var b = 'blababibbaib';
if(a !== b)
{
c = a;
return this.innerHTML = b;
}
else
{
return this.innerHTML = c;
}
并使用 var
var a = this.innerHTML;
var b = 'blababibbaib';
if(a !== b)
{
var c = a; // here with the var it makes c undefined :-(
return this.innerHTML = b;
}
else
{
return this.innerHTML = c;
}
我这样做的原因是因为我想要一个 onclick 事件的函数,它会在原始和 var b 之间来回改变。真的只是为了好玩。
但是我不明白为什么当你在 c 变量前面添加 var 时,一旦你点击它就会使它变得未定义。有人会照亮我吗?
我猜它在函数中使用时与变量范围有关????
提前致谢 :-)
编辑:
好的,我这样做是为了用 var 声明它,但我仍然不确定为什么。
在函数之外,我在声明它之前添加了一个 if 检查 c
if(!c) var c = '';
但就像我说的那样,我仍然想听听发生了什么以及为什么谢谢:-)
编辑2:谢谢大家,现在阅读有关提升的信息。
我想我很困惑,似乎即使你也不需要检查 c 。想法可能很重要……哦,好吧。再次感谢