3. 你要是不减去0.5 NIIT永远获取不到第二个颜色 还有sort排序不稳定
4.
@庸人,我回答的可能不对,但是我觉得意思已经到位了:只是为了生成一个随机数,解决一个名叫浏览器缓存机制的问题,举个例子说,验证码图片点击事件,当前URL与即将更换的URL如果相同,即使触发了单击事件也没有给你更换新的验证码图片。
5. 理解Array.sort方法与Math.random方法你就能知道为什么了:
Array.sort(sortby) 该方法用于数组排序,sortby规定排序顺序,为函数类型,拥有两个参数,(a值与b值,用于自定义排序),
该函数要比较两个值(a与b),然后返回一个用于说明这两个值的相对顺序的数字。其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
Math.random()输出的是0~1的随机数(不会出现负数),减去0.5是为了输出-0.5~0.5之间的随机数,这样才可以做到随机打乱数组排序,打乱之后再取数组的第0个color作为背景颜色使用