定时器
-
setTimeout() 用来指定某个函数或字符串在指定的毫秒数之后执行 只执行一次
- clearTimeout() 清除定时器
/*setTimeout() 有两个参数 1.执行体 注意:函数传递参数可以把实参放在时间参数的后面(不兼容IE9及以下) 2.时间 多久执行*/ let a=0 let fun =()=>{ a++ console.log(a) setTimeout(fun,1000) } setTimeout(fun,1000) //clearTimeout() //参数是定时器的名称 let timer = 0 let a = 0 let fun=()=>{ a++ console.log(a) timer = setTimeout(fun,1000) } fun() document.onclick = ()=>{ console.log("定时器停止了") clearTimeout(timer) }
-
setInterval() 用来指定某个函数或字符串在指定的毫秒数之后执行 无限循环
- clearInterval() 清除定时器
//传递参数是一样的结构 let timer = setInterval(function(){ console.log(1) },1000) document.onclick = ()=>{ console.log("定时器停止了") clearInterval(timer) }
-
requestAnimationFrame() 浏览器专门为动画提供的API 浏览器会自动优化方法的调用 页面不是激活的状态下 动画暂停 有效节省CPU开销 用法与setTimeout相似 只是不需要设置时间间隔
- cancelAnimationFrame()
//复合动画帧的计时器,使得动画更流畅,也只是执行一次 let timer = 0 let a = 0 function fun(){ a++ console.log(a) timer = requestAnimationFrame(fun) } fun() document.onclick=()=>{ console.log("定时器停止了") cancelAnimationFrame(timer) }
内置对象
内置对象是系统预先提供的一些特殊对象,能实现不同的功能
Math
Math是数学对象,跟数学相关的api都在其身上
下面来了解些常用对象
-
Math.random() 随机生成0到1之间的数 包括0不包括1
document.onclick = ()=>{ console.log(Math.random()) } //生成任意范围的随机数 let getRandom = (min,max)=> Math.random()*(max-min)+min document.onclick =()=>{ let x = getRandom(5,10) console.log(x) }
-
Math.ceil() 向上取整(天花板值) 遇到小数向上取整
console.log(Math.ceil(1.1)) //2
-
Math.floor() 向下取整(地板值) 遇到小数向下取整
console.log(Math.floor(1.9)) //1 //返回任意范围的随机整数 function getIntRandom(min,max){ return Math.floor(Math.random(