Javascript返回错误

时间:2015-10-11 07:54:17

标签: javascript html

您好我是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]

3 个答案:

答案 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函数中有一个外部范围和内部范围,userChoicecomputerChoice都表示完全不同的东西。如果你有任何其他选择来命名这些参数,在它没有在本地函数范围内找到userChoice之后,它会扩展并查看父元素范围并找到你之前编写的代码。