为什么可以';我是否在Javascript中的同一if语句中分配并检查一个变量?

为什么可以';我是否在Javascript中的同一if语句中分配并检查一个变量?,javascript,Javascript,换句话说,为什么这不显示警报 var x; if (x = 1 && x > 0) { alert(x); } 据我所知,x=1应该将1赋值给x,并返回1。x>0检查失败。为什么?实际上,&&操作将优先于赋值 在您的情况下,x将是1&&x>0的结果,即false varx; 如果(x=1&&x>0){ 警报(x); } console.log(x);//false实际上,&操作将优先于赋值 在您的情况下,x将是1&&x>0的结果,即false varx; 如果

换句话说,为什么这不显示警报

var x;
if (x = 1 && x > 0) {
    alert(x);
}

据我所知,x=1应该将1赋值给x,并返回1。x>0检查失败。为什么?

实际上,
&&
操作将优先于赋值

在您的情况下,
x
将是
1&&x>0
的结果,即
false

varx;
如果(x=1&&x>0){
警报(x);
}

console.log(x);//false
实际上,
&
操作将优先于赋值

在您的情况下,
x
将是
1&&x>0
的结果,即
false

varx;
如果(x=1&&x>0){
警报(x);
}

console.log(x);//false
您需要一些参数来将赋值与正在进行的表达式分开

varx;
如果((x=1)和&x>0){
警报(x);

}
您需要一些参数来将赋值与正在进行的表达式分开

varx;
如果((x=1)和&x>0){
警报(x);

}
x==1
我想除了下面的答案之外,也不要这样做。这很难看。
x==1
我想除了下面的答案之外,也不要这样做。很难看。