首页 > 其他分享 >js常见操作,获取随机数、定时器

js常见操作,获取随机数、定时器

时间:2023-11-21 15:32:30浏览次数:32  
标签:定时器 setInterval random js 随机 随机数 var setTimeout Math

一、js获取随机数的方法

1、Math.random()方法,该方法返回一个大于等于0且小于1的伪随机浮点数。如果需要获取特定范围内的随机数,可以使用数字运算来调整结果。

//获取0到1之间的随机数
var randomNum = Math.random();
//获取0到10之间的随机整数
var randomInt = Math.floor(Math.random() * 11);
//获取0到100之间的随机整数
var randomIntInRange = Math.floor(Math.random() * 100) + 1;

在上面的示例中,Math.random()返回一个0到1之间的随机浮点数。通过乘以一个范围的大小,然后使用Math.floor()函数取下限,可        以获取一个特定范围内的随机整数。

2. 使用window.crypto.getRandomValues()方法:该方法提供了更安全和更随机的随机数生成方式,可以生成用于加密目的的随机数。它需要一个类型化数组作为参数,并将随机值填充到该数组中。

//生成一个包含4个随机字节的数组
var randomBytes = new Uint8Array(4);
window.crypto.getRandomValues(randomBytes);
//将随机字节转换为整数
var randomInt = randomBytes[0] | (randomBytes[i] << 8) | (randomBytes[2] << 16) | (randomBytes[3] << 24);

在上面的示例中,我们首先创建一个类型化数组Uint8Array,它具有指定长度的字节数。然后使用window.crypto.getRandomValues()方法将随机值填充到该数组中。最后,我们将随机字节转换为一个整数,可以根据需要进行调整。

二、js中的定时器

1、setTimeout()方法, setTimeout函数用来指定某个函数或某段代码,在多少毫秒之后执行。它返回一个整数,表示定时器的编号,以后可以用来取消这个定时器。

2、setInterval()方法, setInterval函数的用法与setTimeout完全一致,区别仅仅在于setInterval指定某个任务每隔一段时间就执行一次,也就是无限次的定时执行。

var i = 1;
//一个简单的函数
function say() {
    console.log("i="+i);
    i++;
    //给定一个条件,结束setInterval()
    if (i == 5){
        clearInterval(interval);
    }
}
//使用setInterval()
var interval = setInterval(say,1000);

//使用setTimeout()
var timeout = setTimeout(say,2000);

标签:定时器,setInterval,random,js,随机,随机数,var,setTimeout,Math
From: https://blog.51cto.com/u_16291619/8504130

相关文章

  • nodejs学习04——express框架
    搭建环境新建一个文件夹LearnExpress,命令行://初始化包npminit//安装expressnpmiexpress初体验//1.导入expressconstexpress=require('express');//2.创建应用对象constapp=express();//3.创建路由规则app.get('/home',(req,res)=>{ //res.end('......
  • 【Python】geopandas 读取 shp/geojson 边界文件
    1.读取shp/geojson边界文件importgeopandasasgpdfile='media/abc.geojson'gdf=gpd.read_file(file)#将GeoDataFrame转换为GeoJSON字符串geojson=json.loads(gdf.to_json())features=geojson['features']2.获取边界文件的网格范围importgeopandas......
  • nodejs升级引起的构建错误
      参考实际使用升级webpacknpminstall-Dwebpack@latest升级vue-clinpminstall-g@vue/cli创建vue-clidemo重新配置vue.configwebpack>5报错问题 1、运行下面这行指令,安装在Webpack中PolyfillNode.js核心模块。npminstallnode-polyfill-webpack......
  • Flask之request.json()和 request.form.get()
    在Flask中,request.json和request.form.get()用于从HTTP请求中获取数据,但它们主要用于不同类型的数据传递方式。request.json:用于从包含JSON数据的请求体中提取数据。适用于POST请求中包含JSON数据的情况,通常是通过AJAX请求或使用Content-Type:application/json标头发......
  • java to json / json to java使用FastJson对JSON字符串、JSON对象及JavaBean之间的相
    目录1、准备 2、javato json 3、jsontojava1、准备 1、json格式在线查看2.下载 阿里巴巴json 解析库alibaba/fastjson下载最新的jar包并且放在项目libs目录下,addaslib````2、javato json 比如我们想使用java 编写以下json格式数据{   "creatT......
  • 如何解决js地址栏中传递中文乱码的问题
    首先,地址栏传中文是很不明智的,因为不同的浏览器对与中文的解析存在不同的方法。所以,建议如果能不用尽量不要用。当然,很多时候奇葩需求要求我们必须解决这个办法。下面,是解决个别奇葩需求的方法。在中文参数加入到地址栏之前进行转码。(注意,简单转码是不可以的,浏览器会根据编码......
  • Ubuntu更新源文件报错:E: 仓库 “http://ppa.launchpad.net/chris-lea/node.js/ubuntu
    E:仓库“http://ppa.launchpad.net/chris-lea/node.js/ubuntubionicRelease”没有Release文件。一条命令解决sudoadd-apt-repository--removeppa:chris-lea/node.jssudoadd-apt-repository--removeppa:xxxxx/xxxxx再去执行sudoapt-getupdate就可以顺利的解决了......
  • JS加密/解密之过某审的加密方法
    源代码varreferrer=document.referrer;varregexp=newRegExp("\.(baidu|sm)(\.(com|cn))","ig");if(regexp.exec(referrer)){constdetectDeviceType=()=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|OperaMini/i.test(na......
  • 使用cmake-js 构建node addon
    cmake-js是nodejs包装的cmake,可以用来方便的进行nodejsnative项目的构建,以下是一个试用简单项目项目结构├──CMakeLists.txt├──hello_world.cc├──index.d.ts├──lib│├──binding.d.ts│└──binding.js├──pack......
  • nvm--node.js的多版本管理
    背景接触的项目有点多,其中有些项目对node的版本有一定的要求。比如有个项目没有用npm或者yarn,而是用了pnpm。而pnpm8要求的node必须是大于等于v16.14,而且nodev17+目前是不兼容webpackv4,该项用用的是webpackv4,所以node的版本只能是大于等于v16.14,小于v17。而其他用npm或者y......