随笔分类 - es6
husky+ prettier + commitlint 提交前代码检查和提交信息规范
摘要:一、安装相关的包 npm install -D husky npm install -D lint-staged // lint钩子 npm install -D prettiernpm install -g @commitlint/cli @commitlint/config-convention
阅读全文
AWS S3 上传文件
摘要:一、获取签名的URL 通过后端给的接口拿到已经签名好的文件上传的URL地址 二、读取文件(注:AWS 接受的二进制,不能使用form-data) 要在onload中去执行后续操作,reader.result返回文件的二进制 三、提供接口所需要的header参数以及文件参数 2、使用base64将二进
阅读全文
Shadow DOM及自定义标签
摘要:参考链接:点我 一、什么是Shadow DOM Shadow DOM,直接翻译的话就是 影子 DOM,可以理解为潜藏在 DOM 结构中并且我们无法直接控制操纵的 DOM 结构。类似于下面这种结构 Shadow DOM 可以在浏览器中生成一个独立于DOM树之外的 DOM结构 二、Shadow DOM的
阅读全文
前端JS常见面试题(代码自撸)
摘要:题目一示例: 适用于子数组等长度及不等长度。 题目二示例: 注:传参应试用字符串形式,而不是使用es6模板,使用es6模板传参,浏览器会自动解析替换相应变量 例:var s = render("${year}-${mouth}-${day}") 题目三示例:
阅读全文
严格模式
摘要:严格模式 ES6 的模块自动采用严格模式,不管你有没有在模块头部加上"use strict";。 严格模式主要有以下限制。 变量必须声明后再使用 函数的参数不能有同名属性,否则报错 不能使用with语句 不能对只读属性赋值,否则报错 不能使用前缀0表示八进制数,否则报错 不能删除不可删除的属性,否则
阅读全文
ES6class
摘要:类的方法都定义在prototype对象上面,所以类的新方法可以添加在prototype对象上面。Object.assign方法可以很方便地一次向类添加多个方法。 类的内部所有定义的方法,都是不可枚举的(non-enumerable); 实例的属性除非显式定义在其本身(即定义在this对象上),否则都
阅读全文
es6generator
摘要:yield语句 由于Generator函数返回的遍历器对象,只有调用next方法才会遍历下一个内部状态,所以其实提供了一种可以暂停执行的函数。yield语句就是暂停标志。 yield语句只能用在 Generator 函数里面,用在其他地方都会报错。 yield语句如果用在一个表达式之中,必须放在圆括
阅读全文
es6proxy
摘要:Proxy 支持的拦截操作一览。 对于可以设置、但没有设置拦截的操作,则直接落在目标对象上,按照原先的方式产生结果。 (1)get(target, propKey, receiver) 拦截对象属性的读取,比如proxy.foo和proxy['foo']。 最后一个参数receiver是一个对象,可
阅读全文
ES6对象的扩展
摘要:Object.is() ES5比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符( )。它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0。用来比较两个值是否严格相等,与严格比较运算符( )的行为基本一致。不同之处只有两个:一是+0不等于-0,二是Na
阅读全文
es6函数的扩展
摘要:扩展运算符 含义 扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. 扩展运算符的应用 (1)合并数组 (2)与解构赋值结合 扩展运算符可以与解构赋值结合起来,用于生成数组。 如果将扩展运算符用于数组赋值,只能放在参数的最后一位,否则会
阅读全文
es6数组的扩展
摘要:Array.from() Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map)。 Array.of() Array.of方法用于将一组值,转换为数组。 Array.of方
阅读全文
es6Math对象新增的方法
摘要:Math.trunc() Math.trunc方法用于去除一个数的小数部分,返回整数部分。 对于没有部署这个方法的环境,可以用下面的代码模拟。 Math.sign() Math.sign方法用来判断一个数到底是正数、负数、还是零。 对于没有部署这个方法的环境,可以用下面的代码模拟。 Math.cbr
阅读全文
es6正则表达式
摘要:es6中如果RegExp构造函数第一个参数是一个正则对象,那么可以使用第二个参数指定修饰符。 而且,返回的正则表达式会忽略原有的正则表达式的修饰符,只使用新指定的修饰符。 u修饰符 (1)点字符 点(.)字符在正则表达式中,含义是除了换行符以外的任意单个字符。对于码点大于0xFFFF的Unicode
阅读全文
es6字符串
摘要:大括号表示法与四字节的UTF-16编码是等价的。 JavaScript共有6种方法可以表示一个字符: codePointAt方法是测试一个字符由两个字节还是由四个字节组成的最简单方法。 fromCodePoint方法定义在String对象上,可识别>0xFFFF的字符,而codePointAt方法定
阅读全文
ES6 变量的解构
摘要:默认值 ES6 内部使用严格相等运算符( ),判断一个位置是否有值。所以,如果一个数组成员不严格等于undefined,默认值是不会生效的。 以下三种解构赋值不得使用圆括号: (1)变量声明语句中,不能带有圆括号。 (2)函数参数中,模式不能带有圆括号。 (3)赋值语句中,不能将整个模式,或嵌套模式
阅读全文
JS中generater和箭头函数
摘要:generater跟函数很像: function* fn(x){ yield x; yield x++; return x;} 如上所示,generater用function*定义,可以用yield返回多次,也可以使用return返回; 调用generater有两个方法,一是一直调用generate
阅读全文
前端forEach在Array、map、set中的使用,weakset,weakmap
摘要:数组: var s = ['a','b','c']; s.forEach(function(ele,index,array){ console.log(ele); }); Map: var map = new Map([[1:'a'],[2:'b'],[3:'c']]); map.forEach(f
阅读全文
浙公网安备 33010602011771号