不太理解这个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,并继续打印呢,那不就重复了吗
展开
 我来答
网海1书生
科技发烧友

2013-11-05 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
是你自己理解错了,
usednums[newnum]=true;
document.getElementById(currsq).innerHTML=newnum;
这两句说明已使用的newnum,其对应位置的usednums数组是True,也就是说“如果usednums数组上的newnum位置是true,说明usednums数组中没有与newnum对应的元素了”,而不是你说的“如果usednums数组上的newnum位置是false,说明usednums数组中没有与newnum对应的元素了”
zhaoapk
2013-11-05 · TA获得超过3771个赞
知道大有可为答主
回答量:1343
采纳率:40%
帮助的人:1614万
展开全部
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];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式