我刚接触Javascript。几个月前,我才开始弄乱它,但遇到了一个似乎无法解决的错误。
我试图做到这一点,以便在单击按钮时创建一个对象(thisObject),该对象存储4个参数-路线,得分,标准杆和小鸟。
我尝试使用大括号语法创建对象,但是由于某些原因,当我将鼠标悬停在已将对象分配给var的变量上时,VSCode会给我此消息错误:'声明了thisObject但从不读'。
$(enter).click(appendScore);
function appendScore(){
event.preventDefault();
if (scoreText.value==""){
$('.errorMessage').show();
}
else{
event.preventDefault();
$('.scoresContainer').append(scoreText.value + ', ');
scoreForm.reset();
$('.errorMessage').hide();
var thisObject = {course: courseSelect.value, score: scoreText.value, pars: parsText.value, birdies: birdiesText.value};
}
}
这导致页面无法定义“ thisObject”。我希望它创建一个具有4个参数的对象,这些参数当然包括得分,标准杆和小鸟。这是怎么回事?
答案 0 :(得分:1)
因为您在 handler 函数thisObject
中定义了appendScore
,所以在其他任何地方都无法使用它。您必须在全局(或封闭)范围内声明它。 (还请注意,appendScore
需要使用参数event
才能使event.preventDefault
起作用):
var thisObject;
$(enter).click(appendScore);
function appendScore(event) {
event.preventDefault();
//...
thisObject = {course: courseSelect.value, score: scoreText.value, pars: parsText.value, birdies: birdiesText.value};
}