Javascript 为什么if语句在js中不起作用
Javascript 为什么if语句在js中不起作用,javascript,Javascript,window.addEventListener(“keyup”,addkey); 函数addkey(){ var x=event.which | | event.keyCode; var-wkey=0; var-op=0; 如果(x==87){ wkey+=1; } 如果(wkey==1&&op==0){ 警惕(“你做得很好!”); op=op+1; } }这是因为您在每次函数运行时定义了wkey和op,您应该在函数外定义它们,以使其按预期工作。这是因为您在每次函数运行时定义了wkey和op,您
window.addEventListener(“keyup”,addkey);
函数addkey(){
var x=event.which | | event.keyCode;
var-wkey=0;
var-op=0;
如果(x==87){
wkey+=1;
}
如果(wkey==1&&op==0){
警惕(“你做得很好!”);
op=op+1;
}
}
这是因为您在每次函数运行时定义了wkey
和op
,您应该在函数外定义它们,以使其按预期工作。这是因为您在每次函数运行时定义了wkey
和op
,您应该在函数外定义它们,使其按预期工作。发生这种情况是因为每次调用该函数时,您都将op
重新初始化为0
。您只需在addkey
之外添加delcareop
,它就可以工作了:
window.addEventListener(“keyup”,addkey);
var-op=0;
var-wkey=0;
函数addkey(事件){
var x=event.which | | event.keyCode;
如果(x==87){
wkey+=1;
}
如果(wkey==1&&op==0){
警惕(“你做得很好!”);
op+=1;
}
}
发生这种情况是因为每次调用函数时都将op
重新初始化为0
。您只需在addkey
之外添加delcareop
,它就可以工作了:
window.addEventListener(“keyup”,addkey);
var-op=0;
var-wkey=0;
函数addkey(事件){
var x=event.which | | event.keyCode;
如果(x==87){
wkey+=1;
}
如果(wkey==1&&op==0){
警惕(“你做得很好!”);
op+=1;
}
}
每次调用函数时
wkey
设置为0
然后添加1
所以它最终总是等于1
尝试将wkey
定义为函数外部的0
或者
if(wkey == null) var wkey = 0;
相反
如果使用此方法,则无需使用
op
。(当然,除非您在别处使用它的值。)每次调用函数时
wkey
设置为0
然后添加1
所以它最终总是等于1
尝试将wkey
定义为函数外部的0
或者
if(wkey == null) var wkey = 0;
相反
如果使用此方法,则无需使用
op
。(当然,除非您在别处使用它的值。)它不应该是函数addkey(event)
?不要依赖全局事件
属性,它只在某些浏览器中有效。相反,请更改为函数addkey(event){
,以确保在所有浏览器中捕获传递给处理程序的事件。它不应该是函数addkey(event)
?不要依赖仅在某些浏览器中工作的全局事件
属性。相反,请更改为函数addkey(event){
以确保您在所有浏览器中捕获传递给处理程序的事件。他实际上想要计算按W键的次数,因此他无法删除wkey,他不仅希望每次按W键时弹出窗口,而是希望每次wkey增加一次时弹出窗口,而不显示popup-计算W被按了多少次。@Arber Sylejmani你完全正确。似乎我的大脑不再完全清醒。我可能应该去睡觉了。他实际上想计算W键被按了多少次,所以他不能删除wkey,他不只是希望每次按W键都弹出窗口,而是首先要弹出窗口然后每隔一次wkey增加一次,但不显示弹出窗口-计算W被按下的次数。@Arber Sylejmani你完全正确。似乎我的大脑不再完全清醒。我可能应该去睡觉了。