发表于: 2017-04-21 23:44:09
1 731
一、今天完成的事情
1、学习了js引用类型和不同节点层次的DOM。
2、完成了js任务1。
3、学习JS断点调试。
二、明天计划的事情
开始任务2:如何使用JS进行页面跳转和传参。
三、遇到的问题
1、如何取三个不同的随机数?
主要运用的是js中Math.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、熟悉定时器的运用。
评论