【问题标题】:Cannot call Jump Game function in JavaScript无法在 JavaScript 中调用 Jump Game 函数
【发布时间】:2020-10-13 15:35:07
【问题描述】:

所以我在做一个跳跃游戏,你可以在这里看到任务:Jump game

所以我找到了很多解决方案并且它们没有错误,但是每当我调用一个函数时,在网页中我只看到空白页。我只想看到简单的文本“你赢了”或“你输了”。我在这里做错了什么?功能很好,没有错误。也许我不知道如何调用此函数或数字的问题应该以某种方式在数组中?这是我的代码:

跳跃游戏 * { 填充:0; 边距:0; } 帆布 { 背景:“#eee”; 显示:块; 边距:0 自动; 边框:2px纯黑色; } var canJump = function(nums) { 如果 (nums.length = nums.length - 1) { 返回真; }; if (nums[i] === 0) { 返回假; } 如果 (i + nums[i] > i + 1 + nums[i + 1]) { 数字[i + 1] = 数字[i] - 1; }; }; }; 如果(canJump(1,2,3,4)===真){ document.write("你赢了"); } 否则如果(canJump(1,2,3,4)===假){ document.write("你输了"); } 脚本> 正文>

请帮帮我。

【问题讨论】:

  • “或者数字应该以某种方式在数组中” 是的,他们应该。目前canJump 为您提供的不满足任何条件的输入返回undefined
  • 其他一些技巧。避免使用document.write() - 这是过时的。使用 DOM 脚本将内容注入页面要好得多。此外,避免写入外部范围,即创建全局变量。在闭包中运行您的代码。

标签: javascript


【解决方案1】:

if(canJump(1,2,3,4) === true) ...应该是if(canJump([1,2,3,4]) === true)

【讨论】:

  • 谢谢!,你能告诉我我该怎么做才能让用户为游戏选择数字,而不是我吗?
  • 这显然取决于用户选择数字的准确程度。但是您需要将选定的数字存储在一个变量中:var selectedNumbers = [] 以某种方式在选择新数字时将它们推送到数组中:selectedNumbers.push(newNumber) 然后使用它:canJump(selectedNumbers)
  • 我写了这段代码:` var howMuchNumbers = prompt("你会为游戏选择多少数字?"); var selectedNumbers = []; for(var i = 1;i
  • 尝试删除函数调用中的方括号。 IE。 canJump([selected numbers]) 应该是 canJump(selected numbers)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多