首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js常用方法和一些封装(2) -- 随机数生成

任何编程语言,随机数都是必不可少的,我在开发过程中,尤其在自己做一些小玩意的时候,就经常使用随机数,后来发现每次使用都懒得写,直接去网上搜一个,拿过来就用了。...可是时间一长,发现总是去网上搜不太好,就干脆做一个总结,现在分享出来。顺便附上一个小案例来说明。 先上小案例的截图: ?...1.gif 这个例子是先画上一堆div,然后给每一个div绑定一个变颜色的事件,当然,颜色是随机生成的。...随机数字 /** * 获取 0 ~ num 的随机数(闭区间) */ function randomNum(num){ return Math.floor(Math.random()*(num...document.createElement("div"); js小巧而灵活,是不是觉得很有趣呢? 本章结束 ... 剽悍一小兔,电气自动化毕业。 参加工作后对计算机感兴趣,深知初学编程之艰辛。

2.9K100
您找到你想要的搜索结果了吗?
是的
没有找到

mock.js生成随机数

如果需要模拟大量数据,json-server也有快速的方法 接下来我们做一个json-server官方的实例(生成1000组user数据) 还是在test文件夹下,新建data.js文件,写入官方例子:...mockjs官方例子 然后运行:json-server data.js -p 3000 成功后地址栏打开localhost:3000你就会发现有1000条user数据 是不是很厉害,很方便。但是!...在实际开发中,我们需要的是更加正常点的数据,比如username应该是“马云”,“马化腾”...而不是千篇一律的user1、user2...并且需要有图片等等数据,如果需要这样的数据,mock.js就太合适了...mockjs官网地址http://mockjs.com/建议先大略看下官方文档(要不然可能接下来的看不太懂) 首先安装mock.js:npm install mockjs --save 我们用mockjs...data.js代码 这段数据包含每条数据对应id、员工id(staff)、员工简介(evaluate)、员工部门(department)、随机1-3张照片 运行之后访问:http://localhost

8.5K20

js如何实现随机数切换

抽奖时,点击图片,实现图片的随机切换,数字的随机切换等,为了吸引用户的注意力,增加网页的互动性,这个效果是怎么实现的呢 01 具体示例 https://coder.itclan.cn/fontend/js...images文件夹里面 通过相对路径的方式去实现的,上面定时器内的代码也可以使用for循环去实现的 实现这个效果,需要借助一个定时器,点击图片显示和暂停时,需要借助一个开关按钮即可实现 03 实现随机数的切换...具体代码如下所示,当使用原生js方法能实现后,在用vue或等其他一些框架,在里面实现相同的效果,核心代码实现依旧是没有变的 ...,在一定的数值范围内生成随机数 定义一个random()函数,原理是随机数和最大值减最小值的差相乘,最后再加上最小值 其中Math.floor()浮点数向下取整 Math.floor(Math.random...() * (max - min)) + min 其他的,都是与原生js实现都是一样的,同样用的是定时器,加上一个开关去实现的

8K70

js如何实现随机数的切换

onOff; } 随机切换图片,其实就是在切换图片img的src,当然也可以把图片放到一个数组当中存储的,上面我是把一些图片放到一个...images文件夹里面 通过相对路径的方式去实现的,上面定时器内的代码也可以使用for循环去实现的 实现这个效果,需要借助一个定时器,点击图片显示和暂停时,需要借助一个开关按钮即可实现 02 实现随机数切换...具体代码如下所示,当使用原生js方法能实现后,在用vue或等其他一些框架,在里面实现相同的效果,核心代码实现依旧是没有变的 ...,在一定的数值范围内生成随机数 定义一个random()函数,原理是随机数和最大值减最小值的差相乘,最后再加上最小值 其中Math.floor()浮点数向下取整 Math.floor(Math.random...() * (max - min)) + min 其他的,都是与原生js实现都是一样的,同样用的是定时器,加上一个开关去实现的

7.7K40

JS - 生成随机数的方法汇总(不同范围、类型的随机数

一、随机浮点数的生成 1,生成 [ 0, 1 ) 范围内的随机数(大于等于0,小于1) (1)使用 random() 方法可以返回一个介于 0 ~ 1 之间的伪随机数(包括 0,不包括 1)。...Math.random() (2)下面是一个测试样例 var random = Math.random(); console.log(random); 2,生成 [ n, m ) 范围内的随机数(大于等于...Math.round(Math.random()) (2)下面是一个测试样例 var random1 = Math.round(Math.random()); var random2 = Math.round...(random1); console.log(random2); console.log(random3); 3,生成 [ 1, n ] 范围内的随机整数(大于等于1,小于等于n) (1)下面方法生成一个...); console.log(random2); console.log(random3); 4,生成 [ min, max ] 范围内的随机整数(大于等于min,小于等于max) (1)下面方法生成一个最小值为

23.6K21

js随机数生成器的扩展

0.前言 给你一个能生成随机整数1-7的函数,就叫他生成器get7吧,用它来生成一个1-11的随机整数,不能使用random,而且要等概率。...getx就是指一个能生成1到x的随机数的函数 主角:get7(你们所有人都没有random这个技能,全都disable了) function get7() { return ~~(Math.random...当然我们最终目标很明确,目标随机数生成器get11,它的每一个随机数都会等概率映射到get7的扩展序列里面: 然后我们很快就可以想到一个公式: a*(getx - 1) + getx a是个整数,整个公式含义是...通用版本也不难,可以自己封装一个。 3. 总结 其实第一种方法叫做拒绝采样。...我们知道等概率生成某个范围的随机数,想通过这个函数生成一个更小范围的随机数,就应该这样子:超过预期范围,重新抽取,所以叫做拒绝采样。

4.2K10

JS随机数历险重大发现

下面我分别从“随机数”、“随机整数”、“随机字符串”以及如何实现一个随机数去带领大家了解随机数,也让大伙感受下我的脑洞,最后的话,我会分享一题大厂相关的面试题。...很显然,它不合适,所以我们这边给它封装一个函数,定义一个区间形如[start,end),输出一个介于区间的数。“数”这里圈一下,要考,这里没有明确是个啥数希望你知道。...那么我们接下来来实现一下,我们需要明确一点,在楼上的基础上,我们已经有创建一个随机整数的生产力了。那么很容易联想到数组的下标对吧,而且我们JS贼牛逼,不仅可以数字,字符也可以啊对吧。...低调一点,这边就数字吧,先创建一个数组,把楼上那句话拆好塞进去,随机数函数带进去就解决了嘛。 这里还更简单,因为数组长度是确定的,一个参数就OK了。...这里我们定义生成一个0-9的随机数,当然这个其实你可以灵活设置,我这边就意思下。

2.9K20

JS高级-数据结构的封装

当然这些数据类型,原生JS不支持,那么就需要通过封装来模拟,其底层还是数组和对象(被看穿喽~),接下来我们挨个来解析吧 一、列表 定义:列表是一组有序的数据,每个列表中的数据项称为元素。...当不需要在一个很长的序列中查找元素或排序可以使用列表。 列表的封装代码: function List() {//列表的构造函数 this....栈的封装代码: function Stack() {//栈的构造函数 this._dataStore = [];//初始化一个空数组来保存列表元素 this....JS中对象就是以字典的形式设计的,但字典的基础是数组,而不是对象。这样可以进行排序,况且JS中一切皆对象,数组也不例外。...是通过一个散列函数(Hash,哈希)将键映射为一个范围是 0 到散列表长度的数字。 散列的封装代码: function HashTable() {//散列的构造函数 this.

7.8K70

【组件库封装】:封装一个 Library 什么流程?

随着业务研发过程的推进,会逐渐出现在业务角度上有复用价值的自定义组件,如果我们把这些可复用的组件封装一个一个独立的 Library,并发布到 npm 上,在项目组内共享,可以避免重复造轮子、便于协同开发...完整开发一个 Library,会涉及到以下几方面问题: 项目托管(Git 或 Svn,建议用 Git) JS包管理(npm 或 yarn,建议用 npm) 项目结构(monorepo 或 multirepo...JS包管理 为了方便起见,我建议大多数团队(必须做出许多其他更重要的技术决定)选择最简单的选项 —— npm。它随 node 一起提供,目前能以足够好的方式处理包管理。 ? 4....这两个子项目都将由我一个人研发,monorepo 结构可以让我避免在两个仓库间反复切换,简化开发流程。 ? ? 5....开发 本文着重讲解一个 library 库的整体研发路线,不深入组件开发细节。

1K30
领券