内置对象
- window eg: window.innerWidth || document.body.clientWidth;
- history eg: go(-1)
- location eg: href
- navigation eg: online:true(常用 表示浏览器是否连接到了inter网)
- screen eg: deviceXDPI(可能会用到 表示屏幕实际的水平DBI)
http://caniuse.com 确定某个api的兼容性
事件模型(会出一些场景设计的题)
- 事件捕获 冒泡(非常经典)
-
三个阶段: 捕获阶段、 目标阶段、 冒泡阶段
事件捕获.png - 第三个参数
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