我在for循环中有这个代码,并且它应该使所有项目都使用其名称作为参数的useItem函数
if(invType[i] == "usable"){
console.log(invName[i]);
document.getElementById(i).onclick = function(){useItem(invName[i])};
}
然后这是useItem函数
function useItem(object){
switch(object){
case "sword":
console.log("sword");
break;
}
console.log("finished");
}
正在发生的事情是for循环console.log(invName[i]);
正在打印“剑”,并且它为onclick函数分配了元素,但它没有输出它应该的东西。它始终认为它是未定义的,因此case "sword":
永远不会运行,但它确实打印“已完成”。我只是看不出这里会出现什么问题。