我不明白这个Javascript错误

时间:2017-03-17 19:51:16

标签: javascript

我在使用ydkjs系列的上行和上册中的示例代码时遇到此错误。谁能帮我吗?错误是

Uncaught SyntaxError:Identifier' ACCESSORY_PRICE'已经宣布     at:1:1

const ACCESSORY_PRICE = 9.99;
var bank_balance = 302.13;
var amount = 99.99;

amount = amount * 2;

// can we afford the extra purchase?
if ( amount < bank_balance ) {
    console.log( "I'll take the accessory!" );
    amount = amount + ACCESSORY_PRICE;
}
// otherwise:
else {
    console.log( "No, thanks." );
}

2 个答案:

答案 0 :(得分:4)

您正在使用的环境中执行相同的代码两次(或更多)不允许您重新声明已声明的条件。

我可以在Sources / Snippets部分的Chrome控制台中轻松复制代码。第一次执行代码按预期工作。再次执行它会引发错误,因为const已由先前的执行定义。

假设Chrome的控制台(或类似)是您的环境,其中一个解决方法是按F5刷新控制台下的页面并重新运行脚本。

另一个有争议的更清晰的解决方法是切换到另一个环境,在这个环境中,相同代码的多个执行没有这种意想不到的效果。

答案 1 :(得分:0)

您无法重新声明const。此错误表示您已声明ACCESSORY_PRICE。删除第二个const ACCESSORY_PRICEvar ACCESSORY_PRICElet ACCESSORY_PRICE