内置对象-生成任意范围随机数
Math.random() 随机数函数, 返回一个0 - 1之间,并且包括0不包括1的随机小数 [0, 1)
-
如何生成0-10的随机数呢?
Math.floor(Math.random() * (10 + 1)) 放大11倍再向下取整
-
如何生成5-10的随机数?
Math.floor(Math.random() * (5 + 1)) + 5
-
如何生成N-M之间的随机数?
Math.floor(Math.random() * (M - N + 1)) + N
function getRandom(N, M) { return Math.floor(Math.random() * (M - N + 1)) + N } console.log(getRandom(4,8))
案例1 随机点名案例
需求:请把 [‘赵云’, ‘黄忠’, ‘关羽’, ‘张飞’, ‘马超’, ‘刘备’, ‘曹操’] 随机显示一个名字到页面中
分析:
①:利用随机函数随机生成一个数字作为索引号
②: 数组[随机数] 生成到页面中
let names = ['赵云', '黄忠', '关羽', '张飞', '马超', '刘备', '曹操'] let random = Math.floor(Math.random()*7) console.log(names[random])
案例2 随机点名案例改进
需求:请把 [‘赵云’, ‘黄忠’, ‘关羽’, ‘张飞’, ‘马超’, ‘刘备’, ‘曹操’] 随机显示一个名字到页面中,但是不允许重复显示
let arr = ['赵云', '黄忠', '关羽', '张飞', '马超', '刘备', '曹操'] // 1. 得到一个随机数, 作为数组的索引号, 这个随机数 0~6 let random = Math.floor(Math.random() * arr.length) // 2. 页面输出数组里面的元素 document.write(arr[random]) // 3. splice(起始位置(下标), 删除几个元素) arr.splice(random, 1) console.log(arr)
案例3 猜数字游戏
需求:程序随机生成 1~10 之间的一个数字,用户输入一个数字
①:如果大于该数字,就提示,数字猜大了,继续猜
②:如果小于该数字,就提示,数字猜小了,继续猜
③:如果猜对了,就提示猜对了,程序结束
// 1. 随机生成一个数字 1~10 // 取到 N ~ M 的随机整数 function getRandom(N, M) { return Math.floor(Math.random() * (M - N + 1)) + N } let random = getRandom(1, 10) console.log(random) // 需要不断的循环 while (true) { // 2. 用户输入一个值 let num = +prompt('请输入你猜的数字:') // 3. 判断输出 if (num > random) { alert('您猜大了') } else if (num < random) { alert('您猜小了') } else { alert('猜对啦,真厉害') break // 退出循环 } }
案例4 生成随机颜色(没做出来)
需求:该函数接收一个布尔类型参数,表示颜色的格式是十六进制还是rgb格式。
①:如果参数传递的是true或者无参数,则输出 一个随机十六进制的颜色
②:如果参数传递的是false,则输出 一个随机rgb的颜色
③:格式:
function getRandomColor(flag){ } console.log(getRandomColor(true)) //#ffffff console.log(getRandomColor(false)) //rgb(255,255,255)
分析:
提示: 16进制颜色格式为: ‘#ffffff’ 其中f可以是任意 0-f之间的字符,需要用到数组, let arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f']
提示: rgb颜色格式为: ‘rgb(255,255,255) ’ 其中255可以是任意0-255之间的数字
案例5 综合渲染案例(没看)
精品推荐
查看全部
猜你喜欢
- 18天前(四川率先建立“双定向”基层文化人才职称评审通道机制)四川率先建立“双定向”基层文化人才职称评审通道机制
- 18天前(2020海丝之路文化博览会)2023海丝之路文化和旅游博览会开幕
- 18天前(万豪酒店 珠海)万豪酒店品牌启航珠海金湾,续写大湾区拓展新篇
- 18天前(四川推进世界重要旅游目的地建设工作)四川推进世界重要旅游目的地建设
- 18天前(七尚酒店百度百科)Lohkah七尚酒店首度开创充满新知的闽地研学旅程
- 18天前(天气预报 华为)2025HDC华为天气上新系统级天气智能体,引领更智能的气象服务
- 18天前(重庆恐龙化石遗址)重庆黔江恐龙化石抢救性发掘新闻发布会举行
- 18天前(“清透会呼吸”轻松拿捏春日出游氛围感)“清透会呼吸”轻松拿捏春日出游氛围感
- 18天前(071 圣安东尼奥)秋季 圣安东尼奥交出了私藏活动清单
- 18天前(福州“一县一桌菜”“两马乡宴”品鉴会圆满举办,马尾美食共叙血脉亲情)福州“一县一桌菜”“两马乡宴”品鉴会圆满举办,马尾美食共叙血脉亲情
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章