我有一个1或0的var,如果它是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";
}
}
答案 0 :(得分:4)
你需要:
if (randomnumber == 0)
并且:
if (randomnumber == 1)
表达式randomnumber = 0
和randomnumber = 1
是赋值表达式,它们将数字0
和1
分配给变量,尽管它们位于{{ 1}}条件陈述。
因此,它始终用于 google.com ,因为所有不等于if
的内容都是 JavaScript 中的0
表达式。
答案 1 :(得分:2)
您必须使用==进行检查。 =设置值而不是评估它。我还建议将随机数传递给函数。
function random(){
var randomnumber=Math.floor(Math.random()*2)
document.getElementById('random').innerHTML=(randomnumber);
check_random(randomnumber)
}
function check_random(randomnumber){
if (randomnumber == 0){
this.location.href ="http://www.cnn.com";
}
else if(randomnumber == 1){
this.location.href="http://www.google.com";
}
}
答案 2 :(得分:1)
你必须使用== not = !!!!!!!!!!!!!!!!
答案 3 :(得分:0)
Ben,您正在使用random
中check_random
的本地变量。这不行。试试这个
function random(){
var randomnumber=Math.floor(Math.random()*2)
document.getElementById('randomnumber').innerHTML=(randomnumber);
check_random(randomnumber)
}
function check_random(n){
if (n == 0){
this.location.href ="http://www.cnn.com";
}
if (n == 1){
this.location.href="http://www.google.com";
}
}