我一直关注Udemy的Javascript指南。正在做的那个人帮了我很多,但后来我得到一个语法错误告诉我放入一个半冒号。我把它放进去,但它没有正常运行。请看一下。
function calculateMousePos(evt)
{
var rect = canvas.getBoundingClientRect();
var root = document.documentElement;
var mouseX = evt.clientX - rect.left - root.scrollLeft;
var mouseY = evt.clientY - rect.top - root.scrollTop;
return
{
x:mouseX,
y:mouseY
};
}
答案 0 :(得分:2)
在Javascript中,return语句必须(至少部分地)与返回值位于同一行:
return {
x:mouseX,
y:mouseY
};
答案 1 :(得分:2)
由于Javascript的automatic semicolon insertion (ASI),您需要将返回对象的卷曲baracket移动到同一行。
块语句和第二个label的错误结果。
function calculateMousePos(evt) {
var rect = canvas.getBoundingClientRect();
var root = document.documentElement;
var mouseX = evt.clientX - rect.left - root.scrollLeft;
var mouseY = evt.clientY - rect.top - root.scrollTop;
return {
x: mouseX,
y: mouseY
};
}