属性描述符 Property Descriptor 属性描述符,用于描述一个属性的相关信息。 通过Object.getOwnPropertyDescriptor()可以得到一...
WeakSet 使用该集合,可以实现和 set 一样的功能,不同的是: 它内部存储的对象地址不会影响垃圾回收。 只能添加对象。 不能遍历,没有size属性,没有forEach...
一直以来,js只能使用数组和对象来保存多个数据,缺乏像其他语言那样拥有丰富的集合类型。因此,ES6新增了两种集合类型(set 和 map),用于在不同的场景中发挥作用。 ma...
一直以来,js只能使用数组和对象来保存多个数据,缺乏像其他语言那样拥有丰富的集合类型。因此,ES6新增了两种集合类型(set 和 map),用于在不同的场景中发挥作用。 se...
迭代器 什么是迭代? 从一个数据集合按照一定的顺序,不断取出数据的过程。 迭代和遍历的区别? 迭代强调的是依次取数据,并不保证取多少,也不保证把所有的数据取完。 遍历强调的是...
Fetch Api 概述 XMLHttpRequest 的问题: 所有的功能全部集中在同一个对象上,容易书写出混乱不易维护的代码。 采用传统的事件驱动模式,无法适配新的 Pr...
async 和 await 是 ES2016 新增的两个关键字,它们借鉴了 ES2015 中生成器在实际开发中的应用,目的是简化 Promise api 的使用,并非是替代 ...
事件循环 JS运行的环境称之为宿主环境。 执行栈:call stack,一个数据结构,用于存放各种函数的执行环境,每一个函数执行之前,它的相关信息会加入到执行栈。函数调用之前...
普通符号 ES6 引入了一种新的原始数据类型 Symbol ,表示独一无二的值,最大的用法是用来定义对象的唯一属性名。 ES6 数据类型除了 Number 、 String ...
概述 解构赋值是对赋值运算符的扩展。 这是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。 对象解构 什么是解构? 使用ES6的一种语法规则,将一个对象或数组的某...
参数默认值 使用 在书写形参时,直接给形参赋值,赋的值即为默认值。 这样一来,当调用函数时,如果没有给对应的参数赋值(给它的值是undefined),则会自动使用默认值。 对...
背景 早期,由于存储空间宝贵,Unicode 使用 16位二进制 来存储文字。我们将一个 16位二进制编码 叫做 一个码元(Code Unit)。 后来,由于技术的发展,Ui...
回顾:JavaScript 的 var 声明变量 1. 允许重复的变量声明:导致数据被覆盖。 2. 变量提升:怪异的数据访问、闭包问题。 怪异的数据访问: 闭包问题: 3. ...
ES6 概述 ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版。 ES6 主要是为了解决 ES5 的先天不足,...
HTTP协议概述 超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发...
如何获取 iframe 内的 window ? 获取子窗口 document.getElementsByTagName('iframe')[0].contentWindow ...
Cookie 用于存储 web 页面的用户信息。 什么是 cookie? Cookie 是一些数据, 存储于你电脑上的文本文件中。 当 web 服务器向浏览器发送 web 页...
解决跨域问题的几种方法:Flash(不做讨论)服务器代理中转Jsonpdocument.domain(针对基础域名相同的情况)bj.58.com document.dom...