Javascript 为什么说回调没有定义?
我为我正在制作的游戏制作了一个服务器,它为我生成了一个地图,但是在我正在制作的这个测试客户端上,它不能正常工作 我将站点添加为脚本,它作为脚本运行良好,但是当读取JSFIDLE上的javascript时,它会说函数回调没有定义,但很明显是这样的,它应该将map对象发送到控制台,但只是出错了…:/ 以下是JS Fiddle的链接: 我希望你们能弄明白,因为我完全不明白为什么它不起作用…。否则,您将调用一个未定义的函数。外部脚本可以按任何顺序下载,但执行顺序与它们在页面中的编码顺序相同Javascript 为什么说回调没有定义?,javascript,json,callback,jsfiddle,Javascript,Json,Callback,Jsfiddle,我为我正在制作的游戏制作了一个服务器,它为我生成了一个地图,但是在我正在制作的这个测试客户端上,它不能正常工作 我将站点添加为脚本,它作为脚本运行良好,但是当读取JSFIDLE上的javascript时,它会说函数回调没有定义,但很明显是这样的,它应该将map对象发送到控制台,但只是出错了…:/ 以下是JS Fiddle的链接: 我希望你们能弄明白,因为我完全不明白为什么它不起作用…。否则,您将调用一个未定义的函数。外部脚本可以按任何顺序下载,但执行顺序与它们在页面中的编码顺序相同 <s
<script>
var map;
//declare callback first before anything uses it
function callback(cb) {
map = cb;
console.log(map);
}
</script>
//this calls the callback it MUST be loaded after
<script src='http://mmorpg_server.jit.su/?map=0,0'></script>
在JSFIDLE中,javascript回调函数是在使用javascript包含加载映射之后定义的,此时还没有定义回调 这里有一个固定的 示例来源:
<script>
var map;
function callback(cb) {
map = cb;
console.log(map);
}
</script>
<script src='http://mmorpg_server.jit.su/?map=0,0'></script>
这是因为jsFiddle并不总是完美地工作
这是因为JSFIDLE将脚本元素包装在它们自己的包装器闭包中,因此无法访问其中声明的任何函数
没关系,答案更好将下拉列表值更改为“无包裹头”
希望这能奏效 这是不正确的,因为文件是在函数定义之后加载的,因为它是通过请求获取数据的。它的真正原因是由于jsfiddleyeah,因为在您的例子中,它不在闭包中。查看原始小提琴的来源和您的观点?小提琴是一种演示。不是实际的代码。如果你想正确地编码,那么就要正确地编码。没有在演示环境中回复参数。你是对的,我错了,我忘了标记是阻塞的。编辑你的答案,这样我就可以重新输入你的提琴,回调函数是在地图加载之前定义的,检查iframe的源代码。你是对的,我错了,我忘了标记是阻塞的。编辑你的答案,这样我就可以修改了
<script type="text/javascript">
var map;
function callback(cb)
{
map = cb;
console.log(map);
}
</script>
<script src='http://mmorpg_server.jit.su/?map=0,0'>
</script>