博学谷学习记录 | 学习总结,用心分享 | 前端学习之Web APIs(二)

事件(一)

这一章的“事件”基本围绕着下图展开,

事件监听

事件监听的本质就是监视着某个元素,只要该元素被某种行为触发了就立即作出某种响应。核心语法如下:

这行代码表明了事件监听的三要素:

① 事件源:被触发的元素

② 事件类型:触发元素的类型,比如点击click、鼠标经过mouseover等等

③ 事件的调用函数:触发某个元素后需要做什么

事件类型

事件类型即用何种行为去触发事件源(或者说目标元素),常见的类型如下:

这些行为的名称在传入事件监听函数时需要加上引号,即以字符串类型传入。 

事件对象

之前提到事件监听三要素中的事件源是被触发的元素,而元素本身就是一个对象,那这里的事件对象又是什么呢?其实事件对象就是事件本身。

拿点击事件举个例子

  <body>
    <div>举例子用的div</div>
    <script>
      const div = document.querySelector('div')
      div.addEventListener('click',function(e){
        console.log(e);
      })
      console.log(typeof div);
    </script>
  </body>

将这个点击事件打印出来之后就能看到非常多的属性,其中有一个 target 属性,其值就是 div 对象。

鼠标经过事件类似,

其中也有一个名叫 target 的属性,其值也为 div 对象。

综上所述,虽然元素和事件都是对象,但二者并不一样,

元素是事件发生的区域限制,也就是说这个事件只能在规定好的元素上发生,在这个元素之外做出的相同事件并不能被浏览器捕获, 而当事件被捕获的瞬间,浏览器就会列出这个事件的所有信息,从而能被程序员使用。

环境对象---- this(一)

这是一个会贯穿整个JavaScript的变量,这里简单介绍一下它在普通函数和匿名函数内部的使用。

this是函数内部的一个特殊变量,它代表着当前函数运行时所处的环境,函数的调用方式不同,this 指代的对象也会不同。总的来说就是谁调用这个函数,this就指向谁。

    <script>
      //匿名函数
      let fn1 = function () {
        console.log(this);
      };

      fn1();

      //普通函数
      function fn2() {
        console.log(this);
      }

      fn2();

      //对象内方法
      const obj = {
        var1: "变量1",
        var2: "变量2",
        fn3: function () {
          console.log(this);
        },
      };

      obj.fn3();
    </script>

回调函数 callback函数

如果将函数 A 做为参数传递给函数 B 时,我们称函数 A 为回调函数,函数A的本质还是函数,只不过把它当成参数使用而已,使用匿名函数做为回调函数比较常见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值