
ES6
文章平均质量分 52
小小小小小亮
蓝翔毕业,致力于实现用挖掘机炒菜!~
展开
-
ES6中的常用语法总结
简要介绍:ECMAScript 6 的语法已经大量用于实际项目,在这里记录一下,ES6的一些常用的新增语法。1.let命令和const命令(1)首先来看let命令:用于声明变量,表示在块级作用域内有效。例子:{ var a=1;}a //a=1{ let b=2;}b //undefined;说明:对比与var,let是块级作用域里面的变量,通过let声明的变量只在改块级作用域内有效。注原创 2016-12-19 16:06:59 · 1148 阅读 · 1 评论 -
实现一个完美符合Promise/A+规范的Promise
简要介绍:Promise允许我们通过链式调用的方式来解决“回调地狱”的问题,特别是在异步过程中,通过Promise可以保证代码的整洁性和可读性。本文主要解读Promise/A+规范,并在此规范的基础上,自己实现一个Promise.一、Promise的使用在了解Promise规范之前,我们知道主流的高版本浏览器已经支持ECMA中的Promise.创建一个promise实例:var...原创 2018-04-09 17:27:56 · 2045 阅读 · 0 评论 -
总结一下ES6中promise、generator和async/await中的错误处理
简要介绍:ES6中为了处理异步,增加了promise、generator和async,它们各自都有不同的内部错误处理方式,本文总结一下promise、generator和async的内部错误处理方法。1 . Promise的错误处理方法(1) 在Promise的构造体内进行错误处理var promise=new Promise(function(resolve,reject){ try {原创 2018-03-19 21:30:36 · 10717 阅读 · 0 评论 -
从promise、process.nextTick、setTimeout出发,谈谈Event Loop中的Job queue
简要介绍:谈谈promise.resove,setTimeout,setImmediate,process.nextTick在EvenLoop队列中的执行顺序1.问题的引出event loop都不陌生,是指主线程从“任务队列”中循环读取任务,比如例1:setTimeout(function(){console.log(1)},0);console.log(2)//输出2...原创 2018-03-10 16:46:58 · 3694 阅读 · 3 评论 -
es5、promise、async以及generator中实现sleep的方法
简要介绍:在多线程编程中,sleep的作用是起到挂起的作用,使线程休眠,而js是单线程的,我们如何在js中模拟sleep的效果呢~ 也就是如何用同步的方式来处理异步。序:为什么不能用setTimeout来实现sleep的效果因为sleep要实现的是同步进程或者说同步程序的挂起,而setTimeout本身是异步的,我们来举个例子:function test(){ setTimeo...原创 2017-11-09 14:35:20 · 4161 阅读 · 0 评论 -
深入理解ES6箭头函数中的this
简要介绍:箭头函数中的this,指向与一般function定义的函数不同,比较容易绕晕,箭头函数this的定义:箭头函数中的this是在定义函数的时候绑定,而不是在执行函数的时候绑定。1、何为定义时绑定我们来看下面这个例子:(1)var x=11;var obj={ x:22, say:function(){ console.log(this.x) }}...原创 2017-04-20 14:05:49 · 32963 阅读 · 15 评论 -
javascript中的__proto__和prototype,以及ES6中class的原型相关
简要介绍:javascript基于原型链的继承与其他语言明显不同,在一些浏览器厂商中,通过proto可以得到对象的原型,ES6中补充了Class,类似于C++和java,那么Class是如何通过原型链实现的呢?1.function的原型function Student(){ //}var stu=new Student();stu.__proto__==Student //falses原创 2017-07-04 19:56:52 · 1404 阅读 · 0 评论 -
js中对象深度克隆,以及ES6中的深度克隆的实现
简要介绍:js中的对象的赋值,其实是实现了对象的引用,在赋值对象上修改属性会影响到原来的对象。–ES5中我们可以通过递归函数来实现深层次的克隆。 –ES6中我们可以通过Object.assign的方式来实现深度克隆。1.javascript(ES5)中对象的克隆function deepClone(obj){ var newObj= obj instanceof Array?[]:{};原创 2017-07-03 14:13:16 · 19386 阅读 · 4 评论 -
常见的异步实现方法以及ES7中如何通过async实现异步操作
简要介绍:异步贯穿了整个js,从ES5到ES6,ES7,也有很多为了解决异步的尝试。1、异步的几种实现方法(1)回调函数var fs=require('fs');fs.read('url',function(err,data){ fs.read('url',function(err,data){ })})这是一个简单的基于回调实现异步的过程,我们发现一旦异步嵌套过深,会导致“回调地狱”。(原创 2017-04-19 15:43:21 · 2499 阅读 · 0 评论 -
JS中的回调函数,以及ES6中通过promise处理回调
简要介绍:ES6中,可以通过promise来处理回调函数,回调函数经常用于异步操作中,间接来说,可以通过promise优化异步操作。1.什么是JS中的回调函数?回调函数是作为参数传递给另外一个函数,并且改回调函数在函数主题执行完后再执行。举例来说:function callback(m,n){ alert("我是回调函数,我在执行"); return m+n}function myFuncti原创 2017-01-06 21:16:12 · 20907 阅读 · 0 评论 -
ES6中setTimeout函数的执行上下文
简介:setTimeout,延迟执行函数里的执行上下文(1)ES5中,setTimeout里面的函数的执行上下文为全局上下文,举例来说:function log(){ setTimeout(function(){console.log(this.id)},100)}var id=42log.call({id:21})//输出的结果为42我们可以看到setTimeout,被延迟执行的函数,里原创 2017-02-21 11:33:28 · 23740 阅读 · 1 评论 -
聊聊Typescript中的设计模式——装饰器篇(decorators)
随着Typescript的普及,在KOA2和nestjs等nodejs框架中经常看到类似于java spring中注解的写法。本文从装饰模式出发,聊聊Typescipt中的装饰器和注解。什么是装饰者模式Typescript中的装饰器Typescript中的注解总结原文地址在:https://github.com/forthealllight/blog/issues/33...原创 2019-01-14 19:19:00 · 5234 阅读 · 0 评论