js 原生定时器

定时器 
setInterval(function,num)   多次循环执行
function 函数
num      时间单位为 毫秒 1000毫秒等于1秒
setTimeout(fun
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <style>
        	#box{
        		width: 100px;
        		height: 100px;
        		background-color: pink;
        	}
        </style>
    </head>
    <body>
    	<div id="box">
    		
    	</div>
    </body>
</html>
<script>
	/*
		定时器 
		 setInterval(function,num)   多次循环执行
				function 函数
				num      时间单位为 毫秒 1000毫秒等于1秒
		 setTimeout(function,num)   只执行一次
	*/


	

	var oBox = document.querySelector('#box');
	// var w = 100;	

	// var time = setInterval(function(){
	// 	w+=5
	// 	console.log(time)
	// 	if(w >= 500){
	// 		// 清除定时器
	// 		clearInterval(time);
	// 	}

	// 	oBox.style.width = w + 'px';

	// },1000/60)
	// //1000/60  一秒钟执行60次


	// oBox.onclick = fn;
	// function fn(){
	// 	var time2 = setTimeout(function(){
	// 		alert('我只执行一次');

	// 	},500)

	// 	//清除定时器
	// 	clearTimeout(time2)
	// }
	





	//定时器中的 --- this ---
	
	// oBox.onclick = function(){
	// 	console.log(this)//指向 盒子 oBox

	// 	function fn(){
	// 		console.log(this)//指向 window
	// 	}

	// 	fn()
	// }


	// oBox.onclick = function(){
	// 	console.log(this)//指向 盒子 oBox

	// 	setInterval(function(){
	// 		console.log(this)
	// 		//通过 bind 绑定当前盒子的this ,为定时器的this
	// 	}.bind(this),1000)
	// }

	// 这样先马上调用一次
	// fun2();

	// setInterval(fun2,2000)

	// // setInterval(fun2(),2000);
	// // 如果这么写 加() 有两个问题
	// // 一.会马上调用方法
	// // 二.只会调用一次

	// function fun2(){
	// 	console.log(this);
	// }



	//解决方案  返回自身函数
	//实现 立刻执行一次,两秒钟执行一次
	setInterval(fun2(),2000);

	function fun2(){
		console.log(this);

		return fun2;
	}
</script>

ction,num)   只执行一次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值