内置对象
弹框
window.alert();
window.confirm()
window.prompt()
js里面的全局变量 也是可以通过window点出来的
var name="zhangsan";
console.log(window)
大量的事件 on
window里面三大计时器
setinterval 循环计时器 延迟多长时间去反复执行
settimeout 一次性计时器 也可以通过代码 制作出循环计时器
requestAnimationFrame 和 setTimeout setInterval 前者在浏览器放小或者切换选项卡的时候 会暂停 后两个不会暂停
1.setinterval
回调函数:
setInterval(function () {
console.log(1);
}, 1000);
字符串函数
function showlog(){
console.log(1);
}
setInterval("showlog()",1000);
计时器的清除
var count = 0;
var timer = setInterval(function () {
count++;
console.log(count);
if (count >= 10) {
console.log(timer);//41???
//关闭计时器
clearInterval(timer);
}
}, 1000);
Settimeout
一次性计时器 ,延迟多长时间后在输出 也可以通过代码 制作出循环计时器
var timer=setTimeout(function (){
console.log(1);
},1000);
clearTimeout(timer);*/
/*for(var i=0;i<10;i++)
{
setTimeout(function (){
console.log(i);
},0)
}
console.log(i)
settimeout 改装循环计时器
//函数的递归
var count = 0;
var timer=null;
showtime();
function showtime() {
count++;
console.log(count);
if(count>=10)
{
clearTimeout(timer);
return;
}
timer=setTimeout("showtime()", 1000);
}
requestAnimationFrame
兼容
var windowrequestAnimationFrame = function (callback) {
return requestAnimationFrame(callback) || mozRequestAnimationFrame(callback) || webkitRequestAnimationFrame(callback)
|| msRequestAnimationFrame(callback) || function (callback) {
setTimeout(function () {
callback();
}, 1000 / 16)
}
}
var windowcancelAnimationFrame = function (time) {
return cancelAnimationFrame(time) || clearTimeout(time);
}
var timer = null;
var count = 0;
loop();
function loop() {
count++;
console.log(count);
if (count >= 10) {
//cancelRequestAnimationFrame 这个代码不认 会报错 认cancelAnimationFrame
windowcancelAnimationFrame(timer);
return;
}
timer = windowrequestAnimationFrame(loop);
}
loction 显示当前页面的地址的相关信息
//代码跳转路径使用下面代码
//location.href="https://www.baidu.com";
history 当前网页的历史记录
console.log(history);
window.history.forward();
window.history.back()