<meta charset="utf-8">
定时器(两种)
- setTimeout()
- setInterval()
setTimeout() 炸弹定时器
-
开启定时器
5s之后关闭广告
<img src="../imgs/ad.jpg" alt="" class="ad">
<script>
setTimeout(function () {
document.querySelector('.ad').style.display = 'none';
}, 5000)
</script>
清除定时器
<button>点击停止炸弹</button>
<script>
function callback() {
alert('来颗华子')
}
var timer = setTimeout(callback, 5000)
document.querySelector('button').addEventListener('click', function () {
// 清除定时器
clearTimeout(timer)
})
</script>
-
setInterval() 闹钟定时器
开启定时器
<script>
setInterval(function () {
alert('来不来华子')
}, 1000)
// setTimeout 延时时间到了,就去调用这个回调函数,只调用一次 就结束了这个定时器
// setInterval 每隔这个延时时间,就去调用这个回调函数,会调用很多次,重复调用这个函数
</script>
<button class="begin">开启定时</button>
<button class="stop">关闭定时</button>
<script>
var begin = document.querySelector('.begin')
var stop = document.querySelector('.stop')
var time = null;
begin.addEventListener('click', function () {
time = setInterval(function () {
console.log('你最帅')
},500)
})
stop.addEventListener('click', function () {
clearInterval(time)
})
</script>
双十一倒计时
电子时钟
发送短信
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
手机号码: <input type="number"> <button>发送</button>
<script>
var btn = document.querySelector('button')
var time = 3;
btn.addEventListener('click', function () {
btn.disabled = true;
var timer = setInterval(function () {
if (time == 0){
time = 3;
// 清除定时器
clearInterval(timer);
btn.disabled = false;
btn.innerHTML = '发送';
}else {
btn.innerHTML = '还剩下'+time+'秒';
time--;
}
}, 1000)
})
</script>
</body>
</html>
location对象
url的一般语法
this指向问题
this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,一般情况下this的最终指向的是那个调用它的对象。
现阶段,我们先了解一下几个this指向
- 全局作用域或者普通函数中this指向全局对象window(注意定时器里面的this指向window)
- 方法调用中谁调用this指向谁
- 构造函数中this指向构造函数的实例
<button>点击</button>
<script>
// this 一般情况下this指向的是调用那个对象
console.log(this) // window
// 全局作用域或者普通函数中this指向全局对象window
function fn() {
console.log(this)
}
window.fn()
window.setTimeout(function () {
console.log(this)
}, 1000)
2\. 方法调用中谁调用this就指向谁
var o = {
sayHi: function () {
console.log(this)
}
}
o.sayHi();
var btn = document.querySelector('button')
// btn.onclick = function () {
// console.log(this)// 指向btn
// }
btn.addEventListener('click', function () {
console.log(this)// 指向btn
})
// 构造函数
function Fun() {
console.log(this) // 指向f实例对象
}
var f = new Fun();
</script>
作者:method
链接:https://www.jianshu.com/p/64a09aa26dfd
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。