前端- JavaScript的那些知识点(一)

91 阅读2分钟

这是我参与11月更文挑战的第6天,活动详情查看:2021最后一次更文挑战

前端事件流

概念:是从页面中接受事件的顺序

可以分为事件捕获阶段 、处于目标阶段、事件冒泡阶段。

事件流最主要的就是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就是外层代码块的this,正式因为他没有this,所以不能当做构造函数