2019/7/4

一、load和DOMContentLoaded的区别

浏览器加载页面步骤

1、解析html结构

2、加载外部脚本文件和样式

3、解析并执行脚本代码,部分脚本会阻塞

4、DOM树构建完成。//DOMContentLoaded 事件

5、加载图片等外部文件,我感觉是一些异步请求??

6、页面加载完毕 //load事件

var a = 123;
var b = 666;

//DOMContentLoaded事件是document的
document.addEventListener('DOMContentLoaded',function(){
    console.log(this);//this指向的是document,谁调的函数this就指向谁
	console.log(a);
},false);

//load事件是window的,怪不得刚写document一直没反应
window.addEventListener('load',function(){
	console.log(a);
},false);

这样的写法好像不能传入参数

二、怎么传参数?用闭包

var c = 888
document.addEventListner('DOMContentLoaded',(function(val){
   return function(e){
       console.log(val);
       console.log(e);
   }
})(c),false);
//这样可以同时传入事件和参数,return的function里的val保留了对传入参数的引用。
//如果内部return的函数写成function(val)就不行了,这个val还是event而不是我想要传入的参数

三、事件代理与事件委托函数

用e.target.matches("#id")来判断发生事件的target是不是我们要的那个。

querySelector()返回符合css选择器的第一个元素

querySelectorAll()返回一个数组

四、const

const声明时就要赋值,而且之后不可以改动

五、promise对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值