我已经编写了这个javascript函数,但似乎没有用。谁能告诉我哪里出错了?它应该是正确的,但经过测试后,生成一些数字似乎有效,我认为它的if语句有问题。任何帮助将不胜感激
<html>
<head>
<script>
function myfunction()
{
var x=Math.floor((Math.random()*3)+1);
myfunc();
}
function myfunc()
{
if (x == 1)
{
document.write("1")
}
else if (x == 2)
{
document.write("2")
}
else if (x == 3)
{
document.write("3")
}
}
</script>
</head>
<body>
<button onclick="myfunction()">Click me</button>
</body>
</html>
答案 0 :(得分:7)
将x传递给您的函数,就像这样..
var x=Math.floor((Math.random()*3)+1);
myFunc(x);
function myFunc(x) {
//now you can use x
}
答案 1 :(得分:6)
x
不在myfunc
的范围内。它在myfunction
的范围内。你必须把它作为一个论点传递:
myfunc(x);
修改myfunc
:
function myfunc(x)
此外,不需要if
语句。 document.write()
无论如何都将其参数转换为字符串,所以你可以这样做:
function myfunc(x) {
document.write(x);
}
虽然如果你只是测试一下,不要使用document.write
。使用console.log
并打开JS控制台。它具有代码完成功能,可以很好地处理对象。