20200415 前端学习笔记

fetch

向服务器发送网络请求,并从服务器获取信息
语法:

    let promise = fetch(url, [options])

    url :  要访问的 URL。
    options : 可选参数:method,header 等。
    如果没有 options,那就是一个简单的 GET 请求,下载 url 的内容。

浏览器立即启动请求,并返回一个该调用代码应该用来获取结果的 promise。
获取响应通常需要经过两个阶段:
1、当服务器发送了响应头(response header),fetch 返回的 promise 就使用内建的 Response 对象来对响应头进行解析。

  • 在这个阶段,可以通过检查响应头,来检查 HTTP 状态以确定请求是否成功,当前还没有响应体(response body)。
  • 如果 fetch 无法建立一个 HTTP 请求,例如网络问题,亦或是请求的网址不存在,那么 promise 就会reject。异常的 HTTP 状态,例如 404 或 500,不会导致出现 error。
  • 可以在 response 的属性中看到 HTTP 状态:
    status —— HTTP 状态码,例如 200。
    ok —— 布尔值,如果 HTTP 状态码为 200-299,则为 true。

2、第二阶段,为了获取response body,需要使用一个其他的方法调用。
Response 提供了多种基于promise 的方法,来以不同的格式访问 body:

  • response.text() —— 读取 response,并以文本形式返回 response,
  • response.json() —— 将 response 解析为 JSON,
  • response.formData() —— 以 FormData 对象的形式返回 response,
  • response.blob() —— 以 Blob(具有类型的二进制数据)形式返回 response,
  • response.arrayBuffer() —— 以 ArrayBuffer(低级别的二进制数据)形式返回 response,
  • 另外,response.body 是 ReadableStream对象,它允许你逐块读取 body。

.contains()

Node.contains()返回的是一个布尔值,来表示传入的节点是否为该节点的后代节点。
语法:

node.contains( otherNode ) 
  • node 是否包含otherNode节点
  • otherNode是否是node的后代节点.
    如果 otherNode是 node 的后代节点或是 node 节点本身.则返回true, 否则返回false.

Element.setAttribute()

设置指定元素上的某个属性值。如果属性已经存在,则更新该值;否则,使用指定的名称和值添加一个新的属性。

要获取某个属性当前的值,可使用 getAttribute();要删除某个属性,可使用 removeAttribute()。
语法:

element.setAttribute(name, value);

name : 表示属性名称的字符串
value : 属性的值或新值

oncanplaythrough 事件

oncanplaythrough事件在视频/音频(audio/video)可以正常播放且无需停顿和缓冲时触发。


.root

root 属性用来获取当前 intersectionObserver 实例的根元素。


bind() 方法

JS中的 bind 方法,主要就是将函数绑定到某个对象,bind()会创建一个函数,函数体内的this对象的值会被绑定到传入bind()第一个参数的值,例如,a.bind(obj),实际上可以理解为obj.a(),这时,a函数体内的this自然指向的是obj


forEach

forEach() 方法对数组的每个元素执行一次给定的函数。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容