type
status
date
slug
summary
tags
category
icon
password

事件流

事件捕获:
  • 从DOM的根元素开始去执行对应的事件(从外到里)
事件冒泡:
  • 当一个元素的事件被触发时,同样的事件将会在该元素的所有祖先元素中依次触发
  • 事件冒泡默认存在
  • 当一个元素触发事件之后,会依次向上调用所有父级元素的同名事件(比如说click)
阻止冒泡:
  • 因为默认有冒泡的存在,所以容易导致事件影响到父级;如果需要把事件限制在当前元素内就必须要阻止冒泡
  • 事件对象.stopPropagation()
    • 阻断事件流动传播,在冒泡和捕获阶段均有效
解绑事件:
  • 对象.onclick = null
    • 这样就把点击事件跟对象解绑了
  • 对象.removeEventListener(’事件’, 函数)
    • 该对象发生这个事件将不会执行这个函数

事件委托

运用事件流的特性来解决一些开发中的问题
  • 给父元素注册事件,当我们触发子元素的时候,会冒泡到父元素身上,从而触发父元素的事件
  • 给子元素注册事件,当父元素的事件触发时,也可以事件捕获到子元素身上
    • 可以用 事件对象.target.tagName 来获取真正触发事件的元素(比如li标签的这个属性就是大写的LI)
 

构造函数和this

接口

  • 多个名字一样的接口,实际上myInterface的属性有abc三个
  • 接口可以在定义类的时候限制类的结构
  • 接口只定义对象的结构而不考虑实际值

泛型

  • 这样定义就表示a的类型就是T的类型
  • 不指定泛型,TS可以自动对类型进行推断
    • 调用函数的时候,就可以判断出T的类型是number
    • 这样既不会关掉ts的类型检查,又可以传任意类型的参数
  • 指定泛型类型
  • 规定泛型的类型
    • 表示该泛型必须有length的属性

JS函数

setTimeout()和setInterval()的用法与区别

  • setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数
    • setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,setTimeout() 只执行一次

      事件对象以及常见属性

      获取事件对象:
      • 事件绑定的回调函数的第一个参数就是事件对象 event
      常见属性:
      • type:当前事件的类型
      • key:用户按下键盘的值

      回调函数

      如果将函数A作为参数传递给函数B,说明函数A是回调函数

      轮播图:JS自动获取点击事件

      tab切换:获取鼠标经过事件以及标签active

      nth:
      可以配合 li 标签使用,选择一列中的哪些标签。
      • first-child 选择列表中的第一个标签
      • last-child 选择列表中的最后一个标签
        • nth-child(n) 选择列表中的第n个标签,n是从1开始的

          Promise

           
          杂记微信小程序:vue+uniapp
          • Giscus