Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获的SyntaxError:意外的标识符-我看不出这应该如何发生。if语句_Javascript - Fatal编程技术网

Javascript 未捕获的SyntaxError:意外的标识符-我看不出这应该如何发生。if语句

Javascript 未捕获的SyntaxError:意外的标识符-我看不出这应该如何发生。if语句,javascript,Javascript,因此,我一直在尝试制作一些代码,根据时间禁用按钮。。但后来我想到了每年发生两次的时间变化。11月初,它会倒退一个小时,然后在5月初,它会倒退一个小时。我成功了,但遇到了错误“uncaughtsyntaxerror:意外标识符”。它出现在“if n=”语句中 非常感谢。我希望你能理解 <input class="submit" type="submit" id="checktime" value="Check"/> <script type="text/javascript"

因此,我一直在尝试制作一些代码,根据时间禁用按钮。。但后来我想到了每年发生两次的时间变化。11月初,它会倒退一个小时,然后在5月初,它会倒退一个小时。我成功了,但遇到了错误“uncaughtsyntaxerror:意外标识符”。它出现在“if n=”语句中 非常感谢。我希望你能理解

<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

要检查is
n
是否是数组的元素
[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)
不确定为什么会因为键入错误而关闭此语句。如果
语句不是打字错误,那么写一个糟糕的
。比我自己的答案更完整一点。很好的解释。