-
生成器
生成器函数拥有在函数块内暂停和回复执行代码的能力生成器函数 函数名称前加星号表示一个生成器 箭头函数不能用来定义生成器函数 星号不受两侧空格影响 //等价 function* generatorFn(){} function * generatorFn(){} function *generatorFn(){} 调用生成器函数会产生一个生成器对象,生成器对象最开始...…
-
迭代器
迭代器是一种一次性使用的对象,用于迭代与其关联的可迭代对象迭代器模式把某些结构成为可迭代对象,因为它们实现了iterable接口,且可被迭代器iterator消费。可迭代对象:集合类型的对象,具有有限的元素默认迭代器 [Symbol.iterator]调用这个工厂函数会生成一个迭代器const arr = new Array()arr[Symbol.iterator]() // ArrayIterator实现iterable接口的数据类型如果对象的父类实现了iterable接口,那这个对...…
-
weakMap & weakSet
什么是弱引用 在计算机程序设计中,弱引用与强引用相对,是指不能确保其引用的对象不会被垃圾回收器回收的引用。 一个对象若只被弱引用所引用,则被认为是不可访问(或弱可访问)的,并因此可能在任何时刻被回收。我们其他创建的变量都是强映射,只要变量执行栈没有被执行栈弹出,就不会被垃圾回收机制回收weakMap(弱映射)特性 weakMap只接受对象作为键名,别的类型会抛出异常 weakMap对键名为弱引用 不可迭代(由于不知道什么时候被回收)方法和Map基本一致,缺少 clear()方法,并...…
-
git
配置个人信息git config --global user.name "username"git config --global user.email moxiaodegu@163.com查看配置信息git config --list // 全部get config user.name // 某个初始化git init提交与修改git clone //拉取代码git add [file1] [file2] //提交到暂存区git add . // 全部提交到暂存区git status /...…
-
git工作区、暂存区、版本库
…
-
Array
js数组是一组有序的数据,每个槽位可以存储任意类型的数据,动态大小,随数据增加动态增长。创建数组的几种方法构造函数 构造函数可以接收一个或多个值,如果只有一个值并类型为数值,会创建一个以数值为长度的数组,否则会创建一个以一个值或多个值的数组 也可省略 new 关键字 let array1 = new Array() console.log(array1) // [] let array2 = new Array(8) console.log(array2) // 创建一个包含八...…
-
作用域、作用域链
什么是作用域 变量作用的范围js里面有几种作用域 全局作用域 全局作用域在页面打开时创建、在页面关闭时销毁。 全局变量/函数都将作为window对象的属性保存。 函数作用域 在函数{}内,函数内创建的变量在函数外不可以被访问。 函数执行完毕,作用域销毁。 3.避免创建过多全局变量, 块级作用域(ES6 es6新增,在语句块内{}创建的变量在语句块外不可以被访问。 作用域和执行...…
-
NodeList对象
NodeList是一中类数组对象,用于保存一组有序的节点 可以通过方括号来访问NodeList的值,他有item()方法与length属性。 他并不是Array的实列,没有数组对象的方法。…
-
算法排序
冒泡排序数组内相邻两位数比较,不满足大小关系互换位置时间复杂度:O(n^2)function bubbSort(arr) { const len = arr.length // len-1,数组最后一位没有可比数据,不需要比 for (let i = 0; i < len-1; i++) { let flag = false // 判断是否有变化,无变化直接跳出此次循环 for (let j = 0; j < len-1-i; j++) { // i增加一,会...…
-
封装获取、修改URL参数的方法
URLSearchParamsconst params = new URLSearchParams(window.location.search);params.get("q"); // 'devpoint'params.get("page"); // '1'const entries = params.entries();Object.fromEntries(entries); // {q: 'devpoint', page: '1'}// 修改params.set('foo',1)wi...…