您好我是JavaScript的新手。我正在尝试构建一个基本的JavaScript摇滚纸剪刀游戏..
我已经实现了以下代码。
我得到的错误是,在返回值并在HTML中显示return语句时,我总是得到“结果是平局”,即使计算机和用户选择不同。 我不知道我哪里出错了。
请帮帮我。以下是我试过的代码
RewriteEngine on
RewriteBase /
# Test that pathname exists, and is NOT a directory.
RewriteCond %{REQUEST_FILENAME} !-d
# Test that the pathname with a .php extension exists, and is a regular file.
RewriteCond %{REQUEST_FILENAME}\.php -f
# Test that a non-empty query string exists
RewriteCond %{QUERY_STRING} .
# Re-write to file with .php extension, without query string
RewriteRule ^(.*)$ $1.php? [L]
答案 0 :(得分:3)
你这样称呼比较
compare()
所以参数的值将是未定义的
undefined === undefined
所以,这是一个平局
最简单的解决方法是从比较中删除参数
compare = function ()
答案 1 :(得分:0)
简短回答:您需要将值传递给比较函数:
The result is <script>document.write(compare(userChoice, computerChoice));</script>
其他两个海报的建议是删除函数定义中的参数,但最好以这种方式解决它并将值发布到函数中。尽量确保函数不依赖于全局变量。
未来提示:
您需要查看局部变量和全局变量之间的区别。在函数中定义值时,先前定义的全局值不再有效。
答案 2 :(得分:0)
您不希望userChoice and computerChoice
成为compare
功能的参数。
您可以通过在运行compare
方法之前创建局部变量来设置这些变量,但也可以通过将它们命名为参数来覆盖函数的本地范围。删除这些参数将是正确解决方案的第一步。
这是因为您现在在compare
函数中有一个外部范围和内部范围,userChoice
和computerChoice
都表示完全不同的东西。如果你有任何其他选择来命名这些参数,在它没有在本地函数范围内找到userChoice
之后,它会扩展并查看父元素范围并找到你之前编写的代码。