我有一个 var 要么是 1 要么是 0,如果它是 1,页面应该转到 cnn.com,如果它是 0,它应该转到 google.com。问题是,当它为 1 或 0 时,它总是转到 google.com。在 http://jsbin.com/ucovef/7 查看正在运行的版本提前致谢
function random(){
var randomnumber=Math.floor(Math.random()*2)
document.getElementById('randomnumber').innerHTML=(randomnumber);
check_random()
}
function check_random(){
if (randomnumber = 0){
this.location.href ="http://www.cnn.com";
}
if (randomnumber = 1){
this.location.href="http://www.google.com";
}
}
最佳答案
你需要:
if (randomnumber == 0)
并且:
if (randomnumber == 1)
表达式 randomnumber = 0
和 randomnumber = 1
是分配数字的赋值表达式 0
和 1
到变量,尽管它们在 if
中条件语句。
因此,它总是转到 google.com,因为所有内容都不等于 0
是 true
JavaScript 中的表达式。
关于Javascript if语句不执行第二个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6800912/