Javascript 在if/else if语句中,变量被锁定在第一个选项中。我怎样才能解决这个问题?
这是我的通用代码(JavaScript):Javascript 在if/else if语句中,变量被锁定在第一个选项中。我怎样才能解决这个问题?,javascript,variables,if-statement,Javascript,Variables,If Statement,这是我的通用代码(JavaScript): 每当我在浏览器中测试此代码时,只有{dothis}部分中可能发生的操作才会发生。x被锁定为1,即使它是一个公平的6面骰子。你知道为什么会发生这种情况,以及我如何修复它吗?JavaScript中的=操作符用于赋值x=1将始终返回true,因为这是一个永远不会失败的赋值。要测试是否相等,请使用==()或==()。您的if(x=1)将1的值指定给x,而不是检查它是否相等。这导致它总是返回TRUE。使用一对==(或===)将解决此问题。每次将x设置为1。1是真
每当我在浏览器中测试此代码时,只有{dothis}部分中可能发生的操作才会发生。x被锁定为1,即使它是一个公平的6面骰子。你知道为什么会发生这种情况,以及我如何修复它吗?JavaScript中的
=
操作符用于赋值x=1
将始终返回true
,因为这是一个永远不会失败的赋值。要测试是否相等,请使用==
()或==
()。您的if(x=1)将1的值指定给x,而不是检查它是否相等。这导致它总是返回TRUE。使用一对==(或===)将解决此问题。每次将x设置为1。1是真实的,因此它通过泄漏赋值将第一个条件传递给1。=
和==
是比较=
是赋值,但这不会消除它变为变量的能力吗?这不只是将x锁定为1吗?谢谢@j08691,它起作用了。只是检查一下,您是在第一行使用×
还是*
?
let x = Math.floor(Math.random()×6)+1);
if (x=1){
do this
} else if (x=2){
do that
} else if.... and so on.