2017-10-07 76 views
-2

我一直在关注Javascript上的Udemy指南。那个曾经帮助过我的人很快就帮我解决了问题,但后来我得到了一个语法错误,告诉我要放入一个分号。我把它放进去,但它没有正常运行。请看一下。为什么我的控制台抱怨语法错误

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 
}; 
} 
+3

具体在哪里?什么是确切的错误?并请修复您的格式。 – Carcigenicate

+0

'addEventListener'不是'addEventListner' – Keith

+0

Omg大声笑谢谢你的工作! :D –

回答

2

在Javascript中return语句必须是(至少部分地)在同一线路返回值:

return { 
    x:mouseX, 
    y:mouseY 
}; 
2

您需要返回的对象的卷曲baracket移动到同一行,因为Javascript的automatic semicolon insertion (ASI)

块语句的错误结果和其中的第二个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 
    }; 
} 
+0

谢谢修复第一个错误:D –

+0

@ D.Kippen,现在你改变了这个问题。 –

相关问题