Javascript 使用jsFiddle的全局变量
在JSFIDLE环境中,我希望创建一个循环,以随机顺序显示数字1到10,不重复 除其他事项外,在JSFIDLE环境中处理全局变量有困难 希望:Javascript 使用jsFiddle的全局变量,javascript,jquery,jsfiddle,Javascript,Jquery,Jsfiddle,在JSFIDLE环境中,我希望创建一个循环,以随机顺序显示数字1到10,不重复 除其他事项外,在JSFIDLE环境中处理全局变量有困难 希望: JSFIDLE中全局变量的解释 使我的代码正常工作(期望目标:通过循环以随机顺序打印数字1到10) 多谢各位 对于后代,以下是来自JSFIDLE的代码: HTML: <div id="response"></div> <input type="button" id="mybutt" value="Get Next" /&g
<div id="response"></div>
<input type="button" id="mybutt" value="Get Next" />
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');
}
});
javascript/jQuery:
<div id="response"></div>
<input type="button" id="mybutt" value="Get Next" />
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');
}
});
var-cnt;
var window.arrDone=[];
函数nextQues(){
返回Math.floor(Math.random()*3)+2;
}
$('#mybutt')。单击(函数(){
cnt++;
log('现在的计数为:'+cnt);
if(cnt<10){
nn=nextQues();
console.log('测试:'+nn);
if(window.arrDone.indexOf(nn)>-1){
console.log('已看到:'+nn);
}否则{
console.log('foundnew:'+nn);
窗口。完成。推送(nn);
}
$('mybutt')。触发器('click');
}
});
为子孙后代:
<div id="response"></div>
<input type="button" id="mybutt" value="Get Next" />
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');
}
});
任何在研究自己的解决方案时遇到此问题的人,也应查看此相关内容,因此发布:
- 确保您阅读了Joe Enos的答案,并对下面的讨论进行了评论
var cnt = 0;
var window = {};
window.arrDone = [];
演示
JSFIDLE中的全局变量与网站中的全局变量相同。尽管最好是在JSFIDLE的左上菜单中使用
no wrap
,并拥有自己的.ready()
函数。否则,它将用站点上没有的onload
函数包装代码。var窗口。arrDone
是无效语法。这是您的问题。cnt不是故意在任何地方初始化的,还是您的问题?JSFIDLE中的全局与其他地方的全局没有什么不同,只是脚本窗格的内容默认包装在函数中。查看此处并选择结果iframe上下文。“在那里你会找到你的地球仪。”拉斐尔·卡斯特罗库托刚刚帮了我很多忙,谢谢你。这正是我需要的,很好的解释。欣赏修改后的小提琴。谢谢大家+1.接受。@gibberish,很高兴我能帮上忙!我认为重要的是要提到,在jsFiddle示例中,cnt
、window
和window.arrDone
不是全局变量。