一个简单的JS随机输出内容的代码,通过一个随机数调用与之对应的文本内容,刷新改变内容。这是博主笑忘书以前根据JS教程马马虎虎写的小代码,可以算是入门级的了。

下面是详细代码(已经用html调用,直接放在html里即可),如有错漏,还望指正:

<script type="text/JavaScript">
var tips = new Array();
//创建消息数组
tips[0] = "欢迎光临笑忘书言-博客";
tips[1] = "每周不定时更新博客内容";
tips[2] = "建议将本页面保存为书签";
tips[3] = "你的支持是我分享的动力";
tips[4] = "建议使用新版UC浏览本站";
tips[5] = "欢迎分享你觉得不错的资源";
tips[6] = "欢迎留言给我报错和提建议";
//以上是随机显示的文本内容
var n = Math.floor(Math.random() * tips.length);
//获取一个随机数
var tip = tips[n];
//根据随机数获取对应的内容
document.write('<div class="tips">'+tip+'</div>');
//输出随机内容
</script>

基本上注释已经很清楚了,先创建一个数组,给数组各项定义内容:tips[n] = "内容"; ,其中n是一个从0开始的非负整数,理论上可以无限增加吧。然后重点来了,要获取一个随机非负整数:var n = Math.floor(Math.random() * tips.length);

这里我根据网上的教程简单解释一下,首先Math.random()可以获取一个0到1之间的随机小数,例如我用UC测试得到了一个随机数字0.9990366927813739。tips.length是上面那个数组的长度,以上面给的代码为例,tips.length的值为7(总共有7条随机内容),那么Math.random() * tips.length得到的就是一个介于0~7(不包括7)之间的随机小数,注意现在得到的还是小数,而我们需要的是一个0~6的随机整数。这时候我们可以利用Math.floor()来取整数,把小数点后面的数字全部去掉,即Math.floor(n)会取一个小于等于n的整数,则Math.floor(Math.random() * tips.length)得到的是0~6的随机整数。

更清楚的列举如下(像(0,1)这些是取值范围,高中数学教的开闭区间):

Math.random(); 得到一个(0,1)的随机小数

Math.random() * 5; 得到一个(0,5)的随机小数

Math.random() * 5 + 1; 得到一个(1,6)的随机小数

Math.floor(num); 得到一个小于等于num的最大整数

Math.floor(Math.random() * 5 +1); 得到一个[1,5]的随机整数

网上有很多相关内容,详情搜索"JS 数组","JS Math.random()","JS 随机"等等关键词,本人也是参考别人的总结,在此献丑了。

还有一点,数组还有更简便的写法,如 var tips = ["甲","乙","丙","丁"];,本文只是为了看起来更清楚才一一列出。

全文完