Javascript 未捕获的SyntaxError:意外的标识符-我看不出这应该如何发生。if语句
因此,我一直在尝试制作一些代码,根据时间禁用按钮。。但后来我想到了每年发生两次的时间变化。11月初,它会倒退一个小时,然后在5月初,它会倒退一个小时。我成功了,但遇到了错误“uncaughtsyntaxerror:意外标识符”。它出现在“if n=”语句中 非常感谢。我希望你能理解Javascript 未捕获的SyntaxError:意外的标识符-我看不出这应该如何发生。if语句,javascript,Javascript,因此,我一直在尝试制作一些代码,根据时间禁用按钮。。但后来我想到了每年发生两次的时间变化。11月初,它会倒退一个小时,然后在5月初,它会倒退一个小时。我成功了,但遇到了错误“uncaughtsyntaxerror:意外标识符”。它出现在“if n=”语句中 非常感谢。我希望你能理解 <input class="submit" type="submit" id="checktime" value="Check"/> <script type="text/javascript"
<input class="submit" type="submit" id="checktime" value="Check"/>
<script type="text/javascript" defer="defer">
<!--
function GetMonth() {
var d = new Date();
var n = d.getMonth();
console.log(n);
}
var enableDisable = function(){
var d = new Date();
var n = d.getMonth();
console.log(n);
if n = 0|1|2|3|10|11 {
one_zero = +0
{
else {
one_zero = +1
{
var one_zero = +1;
var UTC_hours = new Date().getUTCHours() + one_zero;
console.log("Current time : " + UTC_hours)
if (UTC_hours > 19 && UTC_hours < 22){
document.getElementById('checktime').disabled = false;
}
else
{
document.getElementById('checktime').disabled = true;
}
};
setInterval(enableDisable, 1000*60);
enableDisable();
// -->
</script>
您的表达式应该: 1) 有括号 2) 使用更好的方法检查数字。在您将数字分配给
n
时,(使用=
或==
检查相等性),而|
是按位或
的,无法达到您想要的效果
这里我使用了一个数组。它检查数组中n
的索引。如果n
不存在,则返回的值为-1
if ([0, 1, 2, 3, 10, 11].indexOf(n) > -1) {
结束括号实际上是开始括号,需要在条件周围加括号:
if (n = 0|1|2|3|10|11) {
one_zero = +0;
} else {
one_zero = +1;
}
请注意,=
运算符是赋值运算符。要检查n
是否等于m
,请使用n==m
|
是按位OR运算符n=0 | 1 | 2 | 3 | 10 | 11
相当于n=11
,它将11
分配给变量n
要检查isn
是否是数组的元素[0,1,2,3,10,11]
,请使用[0,1,2,3,10,11]。索引(n)!=-1
:
if ([0, 1, 2, 3, 10, 11].indexOf(n) !== -1) {
one_zero = +0;
} else {
one_zero = +1;
}
还请注意,
+0===0
和+1===1
如果如果--如果(n=0 | 1 | 2 | 3 | 10 | 11)
不确定为什么会因为键入错误而关闭此语句。如果
语句不是打字错误,那么写一个糟糕的。比我自己的答案更完整一点。很好的解释。