前端事件流
概念:是从页面中接受事件的顺序
可以分为事件捕获阶段 、处于目标阶段、事件冒泡阶段。
事件流最主要的就是addEventListener这个函数,第三个参数为true的话表示在事件捕获阶段调用,为false的话,标识在事件冒泡阶段调用
事件捕获阶段:实际目标div在捕获阶段不会接收事件,也就是在捕获阶段事件从document倒这就停止了
处于目标阶段:事件在div发生并处理,到时事件处理会被看成是冒泡阶段的一部分
冒泡阶段:事件又传播回文档
阻止默认事件:IE:return false; 非IE:e.preventDefault()
阻止冒泡:IE:Window.event.cancelBubble = true;非IE:e.stoppropagation()
事件委托(提高性能):
是指:不是在事件発生的DOM上绑定事件,而是在他的父元素绑定事件,通过事件冒泡父元素可以监听刀子元素事件的触发
window.onload = function(){
var oUl = document.getElementById(“ul1”);
oUl.onclick = function(ev){
var ev = ev || window.event;
var target = ev.target || ev.srcElement;
if(target.nodeName.toLowerCase() == ‘li’){
alert(123);
alert(target.innerHTML);
}
}
}
js的new操作符
1、创建空对象
2、让空对象的__proto__指向构造函数的prototype
3、让this指向新创建的对象
4、执行构造函数代码
5、返回新对象
this指向问题
this的中文翻译之后就是 ”这个“,我认为是指当前这个的意思
当函数作为对象的方法被调用时,this指向这个对象
作为普通函数的话,this指向window
作为构造函数调用,this指向返回的这个对象
箭头函数绑定在当前环境,当前所在的对象,如果有嵌套,则绑定在最近的对象上
箭头函数this的原理
this指向的固定化,并不是因为箭头函数内部有绑定this的机制,实际原因是箭头函数跟不没有自己的this,导致内部的this