2.js补充:BOM对象
一、页面加载事件:
// 1、传统页面加载事件:只能写一个,有多个以最后一个为准
window.onload = function() { alert(11) }; // 2、监听加载:可以写多个 window.addEventListener('load', ()=> { alert(22) }); // 3、DOM加载完毕,不等图片、css、flash加载完等就可以执行 document.addEventListener('DOMContentLoaded', ()=> { alert(33) })
二、调整窗口大小事件:
①、只要窗口大小发生变化,就会触发这个事件。
②、经常和 Window.innerWidth/Height屏幕宽高搭配。
window.onresize = function() {};
window.addEventListener('resize', ()=> {})
三、定时器:
// 1、setTimeout定时器
// ①、定会器里面写函数。
setTimeout(function() {
console.log('timeout');
}, 2000);
// ②、定时器调用外部函数。
function callBack() {
console.log('BOOM');
};
setTimeout(callBack, 2000);
// ③、为了便于区分,给定时器命名
var time1 = setTimeout(callBack, 2000);
var time2 = setTimeout(callBack, 3000);
// 2、清除setTimeout定时器:
clearTimeout(定时器名字)
// 1、setInterval()定时器:每隔一定时间,重复调用里面函数。
setInterval(function() {
console.log('timeout');
}, 2000);
// 2、清除setInterval()定时器:
clearInterval(定时器名字)
四、this指向问题
①、一般情况下,this指向的是那个调用它的对象。
②、全局作用域、普通函数、定时器里面的this都指向window。
③、方法调用中,谁调用this就指向谁。
btn.addEventlistner('click', function() {
console.log(this); // 指向btn这个按钮对象
})
五location对象:
1、对象属性:
①、location.href:获取/设置这个url。
②、location.search:返回参数。 ?username=Andy --> substr(1) :username=Andy -->split(‘=’):['username', 'Andy']
substr(‘截取起始位置’,‘截取几个字符’)
split(‘以什么分割’)