不太理解这个javascript里面的 if 判断语句,谁能帮忙解析一下!
window.onload=initall;varusednums=newArray(76);functioninitall(){for(i=0;i<24;i++){se...
window.onload=initall;
var usednums=new Array(76);
function initall() {
for (i=0;i<24;i++){ setsq(i); }
}
function setsq(thissq) {
var currsq="s"+thissq;
var colplace=new Array(0,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4);
var newnum=colplace[thissq]*15+getnum();
if(!usednums[newnum]) {
usednums[newnum]=true;
document.getElementById(currsq).innerHTML=newnum;}
}
function getnum(){return Math.floor(Math.random()*15)+1}
原文解释是:如果usednums数组上的newnum位置是false,那么把它设置为true,并打印执行。
我不太理解:如果usednums数组上的newnum位置是false,说明usednums数组中没有与newnum对应的元素了,说明前面已经用做newnum了,那为什么还要把它设置为true,并继续打印呢,那不就重复了吗 展开
var usednums=new Array(76);
function initall() {
for (i=0;i<24;i++){ setsq(i); }
}
function setsq(thissq) {
var currsq="s"+thissq;
var colplace=new Array(0,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4);
var newnum=colplace[thissq]*15+getnum();
if(!usednums[newnum]) {
usednums[newnum]=true;
document.getElementById(currsq).innerHTML=newnum;}
}
function getnum(){return Math.floor(Math.random()*15)+1}
原文解释是:如果usednums数组上的newnum位置是false,那么把它设置为true,并打印执行。
我不太理解:如果usednums数组上的newnum位置是false,说明usednums数组中没有与newnum对应的元素了,说明前面已经用做newnum了,那为什么还要把它设置为true,并继续打印呢,那不就重复了吗 展开
2个回答
展开全部
是你自己理解错了,
usednums[newnum]=true;
document.getElementById(currsq).innerHTML=newnum;
这两句说明已使用的newnum,其对应位置的usednums数组是True,也就是说“如果usednums数组上的newnum位置是true,说明usednums数组中没有与newnum对应的元素了”,而不是你说的“如果usednums数组上的newnum位置是false,说明usednums数组中没有与newnum对应的元素了”
usednums[newnum]=true;
document.getElementById(currsq).innerHTML=newnum;
这两句说明已使用的newnum,其对应位置的usednums数组是True,也就是说“如果usednums数组上的newnum位置是true,说明usednums数组中没有与newnum对应的元素了”,而不是你说的“如果usednums数组上的newnum位置是false,说明usednums数组中没有与newnum对应的元素了”
展开全部
var usednumbs = new Array(3); // 创建length为3的数组
function used (n) {
if (!usednumbs[n]) { // 如果没用过
usednumbs[n] = true;
alert('第一次使用');
} else { // 如果已经用过
alert('已经用过了');
}
}
// usednumbs =》 [undefined, undefined, undefined];
used(1); // 第一次使用
// usednumbs =》 [undefined, true, undefined];
used(2); // 第一次使用
// usednumbs =》 [undefined, true, true];
used(1); // 已经用过了
// usednumbs =》 [undefined, true, true];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询