发表于: 2017-04-21 23:44:09

1 730


一、今天完成的事情

1、学习了js引用类型和不同节点层次的DOM

2、完成了js任务1

3、学习JS断点调试。

二、明天计划的事情

开始任务2:如何使用JS进行页面跳转和传参。

三、遇到的问题

1、如何取三个不同的随机数?

主要运用的是jsMath.random(),当然math.random只是生成了一个伪随机数,之后还要经过我们处理才行。因为任务要求,我们希望得到的是0-9之间的整数,所以我们需要对得到的结果四舍五入处理一下,从而得到我们期望的整数。parseInt()Math.floor()Math.ceil()都可以起到四舍五入的作用。我用的是parseInt(),至于三个数不同,给个if语句就可以了,代码如下:

//随机3个数字
for(var i=0;i<3;i++){
num[i]=parseInt(Math.random()*9);
}
console.log(num);
//3个不同格子
if(num[0]==num[1]||num[0]==num[2]||num[1]==num[2]){
flash();
}

2、如何取三个不同的颜色?

var getRandomColor = function(){

  return '#'+Math.floor(Math.random()*16777215).toString(16);

}

我们知道hex颜色值是从#000000#ffffff,后面那六位数是16进制数,相当于“0x000000”到“0xffffff”。这实现的思路是将hex的最大值ffffff先转换为10进制,进行random后再转换回16进制。不过有个小bug—无法生成纯白色与hex位数不足问题。

以下代码能很好的解决这问题:

var getRandomColor = function(){

  return '#'+('00000'+(Math.random()*0x1000000<<0).toString(16)).substr(-6);

}

四、收获

    1、学会如何取三个不同的数字和不同的颜色。

2、熟悉定时器的运用。





返回列表 返回列表
评论

    分享到