我还在学习javascript,非常感谢任何帮助! 这是我的代码:
function queue(arr, item) {
arr.push(item);
var removed = arr.shift();
return removed;
}
测试设置
var testArr = ["roller coaster", "horror tower", "big train", "space maniac"];
console.log(queue(testArr));
这会很好地记录结果。我甚至可以将所有结果循环到控制台
然后我使用以下内容。尝试在html页面上的按钮中显示结果:
<div id="queue1" class="gray1">
<h3>Available Fast Pass Experience<h3>
<input id="button" type="button" value="Click to see your next fast pass available attraction" style="height:100px; width:380px;font-size:325px"; onclick= "queue(testArr.value = 'onclick= "queue(testArr.value = 'Your next fast pass experience will be + queue(testArr)')";>
<div>
<input id="button2" type="button" value="Available Attraction" style="height:100px; width:380px;font-size:325px;"/>
我使用上面的代码,但是我遇到了错误 我收到了这个错误:
未捕获的TypeError:arr.push不是函数
答案 0 :(得分:0)
您的Javascript在您的示例中格式不正确。所有浏览器读取都是双引号之间的部分。
onclick="queue(testArr.value = 'onclick= "
就DOM解释器而言,剩下的就是垃圾。
queue(testArr.value = 'Your next fast pass experience will be + queue(testArr)')
您应该在问题中指明您要做的事情。如果你试图在数组中逐个显示吸引力,你可以简单地循环遍历数组并将当前索引保存在变量中。
HTML:
<div id="queue1" class="gray1">
<h3>Available Fast Pass Experience<h3>
<button id="button" type="button" onclick="window.clickButton();">Click to see your next fast pass available attraction</button>
<div>
<br>
<input id="output" placeholder="Available Attraction" />
使用Javascript:
var testArr = ["roller coaster", "horror tower", "big train", "space maniac"];
var currentAttractionIdx = 0;
window.clickButton = function() {
var output = document.getElementById('output');
output.value = testArr[currentAttractionIdx++];
if (currentAttractionIdx >= testArr.length) currentAttractionIdx = 0;
}