函数给出错误转换未定义映射
Function gives error translationMap is not defined
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()时,它告诉我:
"未捕获的引用错误:未定义翻译映射";
可能出了什么问题,我该如何解决?
您正在向setInterval
传递一个字符串,这将要求所有引用的代码都在全局范围内(window
)。 translationMap
只存在于window.load
范围内。将translationMap
移出此方法。
function translationMap() {}
window.onload = function(){
}
此外,我建议不要对setInterval
使用字符串,而是实际传递一个函数:
setInterval(function () { translationMap() }, 100);
这也应该有效,并且是比要求 JavaScript 使用eval
更好的解决方案。
相关文章:
- 未捕获的引用错误:未定义<映射键>
- 使用返回时未定义的映射
- 谷歌未定义(api 映射错误)
- 函数给出错误转换未定义映射
- 树映射导致未捕获类型错误:未定义不是函数
- 打开图层映射是未定义的错误
- 为什么不能映射“未定义”数组
- JSON 对象属性在映射事件处理程序中未定义
- 未捕获的类型错误: 无法读取未定义的属性“映射”
- 避免'无法读取未定义'的属性;映射数据时出错
- 刷新映射时出现未定义的属性错误
- ReactJS映射函数找不到未定义的属性
- 为什么我的d3映射函数返回一个未定义的源属性
- Javascript & # 39;未定义# 39;变量.映射到原型函数上
- 下划线:通过对象映射(即使未定义)
- 映射内匿名函数内的方法未定义
- 通过一个未定义的数组映射循环
- 当应该返回对象数组时,数组映射返回未定义的数组
- 绕过Babel重新映射ES6“this”;未定义的
- this.point.properties是未定义的高映射