已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > HTML/CSS/JS > 讨论/求助

标题: JS不解

作者: @Ta

时间: 2018-01-24

点击: 4717

随机背景色
var y=new Array;
 y=["#CCCCCC","#33FFFF","#CCE8CF"]
y.sort(function(){return Math.random()-0.5})
document.getElementById('post').style.backgroundColor=y[0]



减去1.5的意义何在?
是个什么意思

sort既然已经打乱了数组为何减去1.5?能有什么记得作用?


根据绿林的活跃度 我知道我要睡一觉起来等答案
你们也有小尾巴吗,我也有啊!

[隐藏样式|查看源码]


『回复列表(6|隐藏机器人聊天)』

1. 我回复的效率很高,就是无法解决你的问题
(/@Ta/2018-01-24 11:35//)

2. @雨落泪尽,😂😂
你们也有小尾巴吗,我也有啊!
(/@Ta/2018-01-24 11:37//)

3. 你要是不减去0.5  NIIT永远获取不到第二个颜色  还有sort排序不稳定
(/@Ta/2018-01-24 11:51//)

4. @庸人,我回答的可能不对,但是我觉得意思已经到位了:只是为了生成一个随机数,解决一个名叫浏览器缓存机制的问题,举个例子说,验证码图片点击事件,当前URL与即将更换的URL如果相同,即使触发了单击事件也没有给你更换新的验证码图片。
(/@Ta/2018-01-24 12:22//)

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作为背景颜色使用
(/@Ta/2018-01-24 14:08//)

6. @猫咪情缘,感谢!@TabKey9@游魂,感谢,有点懂了
你们也有小尾巴吗,我也有啊!
(/@Ta/2018-01-24 18:55//)

回复需要登录

8月15日 19:52 星期五

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1