ECMAScript 6
田野爱上狗
这个作者很懒,什么都没留下…
展开
-
js函数同步问题
let i = 1;//模拟数据库操作,因此时间不确定//使用setInterval时,两次f1执行时内部的异步回调无保证执行顺序function f1() { setTimeout(() => { process.stdout.write(i + ' '); setTimeout(() => { i++; }, Number.parseInt(Math.r...原创 2020-04-01 12:02:29 · 1418 阅读 · 0 评论 -
js比较两个数组中的元素是否相等
arr1.sort().toString() === arr2.sort().toString();原创 2019-12-09 14:47:18 · 3652 阅读 · 0 评论 -
JS中的switch用法
记录一下这种用法,可在case语句后做简单的判断操作 switch(true) { case item.TOEICSCORE < 250: countless250++; break; case item.TOEICSCORE >= 250 && item.TOEICSCO...原创 2019-11-25 10:31:25 · 1196 阅读 · 0 评论 -
ES6记录
1.暂时性死区(TDZ)会使typeof失效,这种情况下typeof会报错2.块级作用域中的函数声明类似于var,存在提升(见《ES6标准入门 3rd》p25)3.NaN === NaN 与NaN == NaN,结果是false4.typeof NaN,返回'number' ,可以使用Number.isNaN()来判断NaN5.NaN、null、undefined、''(空字符串...原创 2019-08-08 11:49:40 · 104 阅读 · 0 评论 -
js的call()、apply()、bind()
Function.prototype.call()call的第一个参数为一个对象,如果为primitive类型,则会自动转为该类型对应的包装类型。若为null、空、undefined则传入全局对象。call将该方法内部的this关键字指向第一个参数指定的对象并执行,也就是改变函数执行的作用域,call还可接第二个及多个参数,代表传入当前函数的参数。Function.prototype....原创 2019-08-02 10:21:55 · 84 阅读 · 0 评论 -
var与块级作用域
var在块级作用域中声明的变量在全局有效目前已验证的有{},for(){},if(){}在function中此规则不适用(已验证)原创 2019-07-30 10:26:12 · 671 阅读 · 0 评论 -
prototype原型对象
js中对象可以直接使用js中的实例是函数(构造器)或类的实例(ES6)1.JS的prototype属性:prototype是函数的属性,不过基本只在函数作为构造函数时才有意义。原型对象能过函数直接访问,不能通过对象实例去访问。原型(prototype)对象的所有属性和方法,都能被实例对象共享。原型对象的属性通过实例访问。prototype是自动创建的属性,指向一个...原创 2019-07-25 23:50:51 · 141 阅读 · 0 评论 -
async/await函数
基本概念 将async和await看作命令 async/await就是generator函数的语法糖,但对generator函数有部分改进:generator函数执行时返回的是一个Iterator对象,而async/await立即返回一个Promise对象,相当于能够将函数内部的多个异步操作封装成为一个Promise对象。async/await内部自带执行器,也就是调用后会自动执行,...原创 2019-09-13 14:59:02 · 1774 阅读 · 0 评论 -
Generator函数
重要概念1.Generator函数执行后,函数并不会主动往下执行任意一个字符,而是返回一个指向内部状态的指针对象,是一个遍历器对象(Iterator Object)2.想要函数继续执行,必须要在函数执行时返回的对象上调用next()方法:注意:在调用next()后,函数会一直执行到包含yield的表达式,此时,在这个表达式中,会首先执行yield后的表达式(子表达式),并将其作为n...原创 2019-08-20 23:55:40 · 160 阅读 · 0 评论