浏览器详解

内置对象

  1. window eg: window.innerWidth || document.body.clientWidth;
  2. history eg: go(-1)
  3. location eg: href
  4. navigation eg: online:true(常用 表示浏览器是否连接到了inter网)
  5. screen eg: deviceXDPI(可能会用到 表示屏幕实际的水平DBI)

http://caniuse.com 确定某个api的兼容性

事件模型(会出一些场景设计的题)

  • 事件捕获 冒泡(非常经典)
    1. 三个阶段: 捕获阶段、 目标阶段、 冒泡阶段
      事件捕获.png
    2. 第三个参数
      e.target 当前点击的元素
      e.currentTarget 绑定监听事件的元素
    window.addEventListener('click',(e)=>{
      console.log(e.target.nodeName);// e.target 当前点击的元素
      console.log(e.currentTarget.nodeName);// e.currentTarget 绑定监听事件的元素
    },false)
    
    false: 监听冒泡阶段(默认是false)
    true:监听捕获阶段

  • stopProgation 阻止事件传播
    常用它来阻止冒泡
    其实: 这个方法的作用是阻止事件的传播,而不只是冒泡阶段.

  • e.preventDefault 阻止默认行为
    eg: a标签的默认点击跳转、点击表单的提交按钮
  • 兼容性
    ie里不支持事件捕获
    e.cancelBubble = true;指ie取消冒泡
    e.returnValue = false;指ie阻止默认行为

考题:事件委托
可能考到call apply bind等。。

浏览器请求相关的内容ajax 和 fetch API

get post put delete只是一个规范
请求的方式有:
1. XMLHttpRequest
2. fetch(默认不带cookie;错误不会reject,res.ok==true表示请求成功;不支持设置超时;终止fetch

fetch.png

思考

复习.png

你可能感兴趣的:(浏览器详解)