gpt4 book ai didi

javascript - 函数给出错误 translationMap is not defined

转载 作者:行者123 更新时间:2023-11-30 17:00:36 24 4
gpt4 key购买 nike

window.onload = function(){
function translationMap(a,b){
ctx.translate(a,b);
}

function majMap(sens){
var cpt;
switch(sens){
case 1:
for(cpt=0;cpt<16;cpt++){
var horloge = setInterval('translationMap(0,2);' , 100);
}
clearInterval(horloge);
break;
case 2:
for(cpt=0;cpt<16;cpt++){
var horloge = setInterval('translationMap(0,-2);' , 100);
}
clearInterval(horloge);
break;
case 3:
for(cpt=0;cpt<16;cpt++){
var horloge = setInterval('translationMap(-2,0);' , 100);
}
clearInterval(horloge);
break;
case 4:
for(cpt=0;cpt<16;cpt++){
var horloge = setInterval("translationMap(2,0);" , 100);
}
clearInterval(horloge);
break;
}
}
}

但是当我执行 majMap();它告诉我:

"Uncaught ReferenceError: translationMap is not defined";

可能出了什么问题,我该如何解决?

最佳答案

您正在将一个字符串传递给 setInterval,这将要求所有引用的代码都在全局范围内 (window)。 translationMap只存在于window.load的范围内。将 translationMap 移到此方法之外。

function translationMap() {}
window.onload = function(){

}

此外,我建议不要为 setInterval 使用字符串,而是实际传递一个函数:

setInterval(function () { translationMap() }, 100);

这也应该有效,并且是比要求 javascript 使用 eval 更好的解决方案。

关于javascript - 函数给出错误 translationMap is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28950051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com