2017-10-07 75 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,現在你改變了這個問題。 –

相關問題