我是一名新编码学生,我很难自己做一个简单的投币应用程序。我希望用户输入n
次数的投掷,然后让js脚本投掷硬币n
次。正如我在JSFiddle中所做的那样,我剪切了表单元素,因为post
或get
会抛出错误。我现在的问题是我无法将#myFlips
的值存储为var i
。任何帮助表示赞赏。
http://jsfiddle.net/Adam262/Fxrs3/3/
以下是我的HTML:
<input type="number" id="myFlips" min="1" placeholder="How many flips?"
onchange="save()">
<input type="submit" id="submit">
我的js:
function save() {
var i = document.getElementById("myFlips").value;}
function coin(i) {
return Math.floor(Math.random() * 2);}
while (i > 0) {
if (coin(i) == 1) {
alert("Heads!");
} else alert("Tails!");
i--;}
答案 0 :(得分:0)
var
关键字将变量范围限定为函数。
当save
运行时,您为i
分配一个值,然后该功能结束。 <{1}}不再适用于任何事情,因此会收集垃圾。
将i
放在函数外部,然后从函数中删除var i
。
如果我们查看您的实例(请在问题中输入足够的代码来重现您的问题),那么您还需要在函数内部移动var
循环并调用它适当的时间。
您还在另一个函数(while
)中定义函数,因此它们不是全局变量,因此内部事件处理程序属性无法看到它们(它们超出范围)。
请勿使用内在事件属性add your event handlers with JS。