在jsFiddle环境中,我希望创建一个循环,以随机顺序显示数字1到10,没有重复。
除此之外,在jsFiddle环境中遇到全局变量有困难。
很感激:
谢谢
对于后代,这里是来自jsFiddle的代码:
HTML:
<div id="response"></div>
<input type="button" id="mybutt" value="Get Next" />
的javascript / jQuery的:
var cnt;
var window.arrDone = [];
function nextQues() {
return Math.floor(Math.random()*3) + 2;
}
$('#mybutt').click(function() {
cnt++;
console.log('Count is now: ' + cnt);
if (cnt < 10) {
nn = nextQues();
console.log('Testing: ' + nn);
if (window.arrDone.indexOf(nn) > -1) {
console.log('Already Seen: ' + nn);
}else{
console.log('FOUND NEW: ' + nn);
window.arrDone.push(nn);
}
$('#mybutt').trigger('click');
}
});
对于后人:
任何在研究自己的解决方案时遇到这个问题的人都应该查看这个相关的SO帖子:
Is javascript namespace polluted?
答案 0 :(得分:3)
试试这个:
var cnt = 0;
var window = {};
window.arrDone = [];
演示here
jsfiddle中的全局与网站中的全局相同。虽然最好在jsfiddle的左上角菜单中使用no wrap
,但拥有自己的.ready()
功能。否则,它会将您的代码包装在您网站上没有的onload
函数中。