es6features 这份文档最初取自Luke Hoban 优秀的es6features。 在GitHub,去给它一个star吧! REPL 请务必在在线的REPL中尝试这些功能。 愚人码头注:你可以将示例代码复制到在线的REPL...
Read the original 前言 由于ES6和Babel的出现,编写JavaScript代码变得难以置信的灵活,从新的语法到自定的编译器,像JSX。我变成了扩展运算符(Spread Operator)的超级粉丝,三个点就改变你编写JavaScript...
昨天(1月20号),阮老师在微博上发布了这样一条微博: TDZ.jpeg 阮老师贴了一段代码,报错了,然后左思右想觉得这是V8的错,这...
JavaScript 从诞生至今已经走过了 20 年的历程。它的前世(1995~2015年)是一个长达 20 年没有类的世界,它的今生随着 2015 年 6 月 ES6 的发布迎来了有类的时代。JavaScript 从无“类”到有“类”,经历了从 ES1 到 ...
今天研究一个小问题:怎么拿到JavaScript异步函数的返回值? 1.错误尝试 当年未入行时,我的最初尝试:<script> function getSomething() { var r = 0; setTimeout(fun...
如果觉得主题排版不好看,可以见我的简书 概述 简介 Symbol 是一种特殊的、不可变的数据类型,可以作为对象属性的标识符使用,表示独一无二的...
引言 js的异步操作,已经是一个老生常谈的话题,关于这个话题的文章随便google一下都可以看到一大堆。那么为什么我还要写这篇东西呢?在最近的工作中,为了编写一套相对比较复杂的插件,需要处理各种各样的异步操作。但是为了体...
属性的简洁表示法 ES6允许直接写入变量和函数作为对象的属性和方法。意思就是说允许在对象中只写属性名,不用写属性值。这时,属性值等于属性名称所代表的变量。下面分别举一个例子来说明: ...
经过几天源码研究学习之后,基本上对Promise有了深入的了解,也手动封装了自己了Promise工具类,下面就是我们去在应用场景中去验证这个工具类的使用了 上 - 理论知识 Promise 规范 ES6 Promise API Polyfill和扩展类库 P...
经过上一篇 深入理解 Promise (上) 的理论知识和用法学习,这一篇让我们深入源码层面,一步一步去封装一个Promise,去了解Promise的内部实现,以便我们在项目中对Promise的使用运用自如。 上 - 理论知识 Promise 规范 ES6 ...
自从ES6流行起来,Promise 的使用变得更频繁更广泛了,比如异步请求一般返回一个 Promise 对象,Generator 中 yield 后面一般跟 Promise 对象,ES7中 Async 函数中 await 后面一般也是 Promise 对象,还...
在最开始学习ES6的Promise时,曾写过一篇博文《promise和co搭配生成器函数方式解决js代码异步流程的比较》,文章中对比了使用Promise和co模块搭配生成器函数解决js异步的异同。 在文章末尾,提到了ES7的async和await,只是当时只是...
对于ES6新增的箭头函数,相关的介绍可以查看MDN - Arrow_functions以及ECMAScript 6 入门。 引入首先我们先看下面一段代码: 'use strict' var obj = { i:...
作者:贾扉扉 (沪江web前端开发工程师) 本文原创翻译,有不当的地方欢迎指出。转载请指明出处。 看到你每天使用的编程语言在不断进化是一件令人开心的事情 。从错误中学习,找到更好的实现方式,创造新的语法特性,语言就这样一步一步地实现了版本更新。 这正...
ECMAScript 5以及以前的版本: let options = { repeat: true, save: false }; // extract data from the object let repeat = options.r...
如何遍历一个数组的元素?在 20 年前,当 JavaScript 出现时,你也许会这样做: for (var index = 0; index < myArray.length; index++) { console.log(myArray[inde...
块级作用域字符串解构赋值对象数组函数Map结构Class模块ESLint的使用 本章探讨如何将ES6的新语法,运用到编码实践之中,与传统的JavaScript语法结合在一起,写出合理的、易于阅读和维护的代码。 多家公司和组织已经公开了它们的风格规范,具体可参阅...
ES6(ECMAScript2015)的出现,无疑给前端开发人员带来了新的惊喜,它包含了一些很棒的新特性,可以更加方便的实现很多复杂的操作,提高开发人员的效率。...
这篇文章主要是探讨如何处理ES6中的变量和作用域。 通过let和const确定块作用域 使用let和const创建块作用域,他们声明的变量只存在块内。比如下面的示例,let声明的变量tmp只存在于if语句块,也只有在if语句块内有效。 function ...
前言 javascript中的this是啥东西?为啥我们经常被他搞得晕头转向不知所以?他是恶魔?是天使 ?是怪胎?让我们一...
前言 得益于git代码审查以及log规范化的解决方案中提到的任务,应用Eslint来检查公司的一个项目,在检查过程中就发现了很多与Eslint规范相悖的代码,整体下来错误达到一万多个。着实吓了宝宝一跳,接着使用ESlint提供的--fix参数自...
本文首发于CSDN网站,下面的版本又经过进一步的修订。 关于 我的博客:louis blog SF专栏:路易斯前端深度课 原文链接:【深度长文】JavaScript数组全解密 全文共13k+字,系统讲解了JavaScript数组的各种特性和API。 数组是...
关于数组或对象遍历,相信很多人都没有深入观察过执行效率。这是一个曾在群里吵翻天的话题,读懂后你将成为遍历效率话题的大师。 关于 我的博客:louis blog SF专栏:路易斯前端深度课 原文链接:详解JS遍历 导读 遍历数组或对象是一名程序员的基本素养之...
本文写于1年前 曾经的学习文章如今拿出来分享 前言 其实我一直很困惑关于js中的callback,困惑的原因是,学习中这块看的资料少,但是平时又经常见,偶尔复制一下前人代码,功能实现了也就不再去追其原由,这么着,这个callback的概念就越来越混乱,因为你总...
JS中异步编程的方法有: 回调函数 事件监听 发布/订阅 prom...
Manifest 是 H5提供的一种应用缓存机制, 基于它web应用可以实现离线访问(offline cache). 为此, 浏览器还提供了应用缓存的api--applicationCache. 虽然manifest的技术已被web标准废弃, 但这不影响我们尝...
ES6基础智商划重点 在实际开发中,ES6已经非常普及了。掌握ES6的知识变成了一种必须。尽管我们在使用时仍然需要经过babel编译。 ES6彻底改变了前端的编码风格,可以说对于前端的影...
写在前面: 之前踩坑css的时候,遇到滑轮,按钮,选择框这类型的东西,为了页面效果,总是需要自定义他们的样式,而不使用他们的默认样式。当时写的时候,我也是蛮头疼的,弄了个demo,链接在下面。对此做个总结。本文是面向前端小白的,大手子可以跳过,写的不好之处多多...
简介分页是开发中最常见的需求之一。对于分页,我们讨论的最多的是后端的数据库分页,这关乎到我们应用程序的性能,也是分页这个需求的核心。而前端要做的,是把后端返回的数据呈现在页面上,工作被认为是简单琐碎的。在单页应用中,我们有很多中分页方案,最常见的是无限滚动、上...
完成的基本样式 前言 这个小练手旨在帮助刚上手学习JavaScript的同学练习最基本的Js知识,大神勿喷哈,由于这个是非常简易的计算器,可以完成的功能有加减乘除和AC(清屏),DEL(...
0.前言 免责声明 若文章中内容存在无法加载的情况,请移步作者其他博客。 简书 CSDN 关于本文中出现的面试题,请勿询问具体公司。 之所以分享出来,只是作为热爱前端的小伙伴们分享讨论的一个话题。 请勿将本文用于不正当用途。 请不要吐槽我为什么不给你...
写在前面:本文主要内容是目前我所知道的切图技巧结合网上的资料,写出来分享一波。图文教程,多图!! BB:很多人都会说,切图这个活倒底分给UI还是分给前端。虽然好的UI会给我们把图切好,但是他们切的图不一定百分之百符合我们的需求,所以我一直都觉得这是页面仔必须要...
因为自己在平时工作中,有些功能需要用到定时器,但是定时器并不像我们表边上看到的那样,所以这周末我看看书查查资料,深入研究了一下JavaScript中的定时器,那么废话不多说,下面进入我们今天的正题。 大家都知道JavaScript是单线程的,所以不管是定时器还...
作者:link 2014年一月以来,自己接触web前端开发已经两年多了,记录一下自己前端学习路上看过的,以及道听途说的一些书,基本上按照由浅入深来介绍。 JavaScript 入门 《JavaScript权威指南(第六版)》 ★★★★★ 淘宝前端团队翻译的...
事件冒泡与事件捕获 事件冒泡和事件捕获分别由微软和网景公司提出,这两个概念都是为了解决页面中事件流(事件发生顺序)的问题。考虑下面这段代码,就不写html->head,body之类的代码了,自行脑补 <div> <p>Click...
网络浏览器很可能是使用最广的软件。在这篇入门文章中,我将会介绍它们的幕后工作原理。我们会了解到,从您在地址栏输入 google.com 直到您在浏览器屏幕上看到 Google 首页的整个过程中都发生了些什么。 我们要讨论的浏览器 目前使用的主流浏览器...
ES6标准出炉之前,一个幽灵,回调的幽灵,游荡在JavaScript世界。 正所谓: 世界本没有回调,写的人多了,也就有了})})})})})。 Promise的兴起,是因为异步方法调用中,往往会出现回调函数一环扣一环的情况。这种情况导致了回调金字塔问题的出现...
共 5024 字,读完需 6 分钟,速读需 2 分钟,本文首发于知乎专栏前端周刊。写在前面,笔者在做面试官这 2 年多的时间内,面试了数百个前端工程师,惊讶的发现,超过 80% 的候选人对下面这道题的回答情况连及格都达不到。这究竟是怎样神奇的一道面试题?他考察...
Why underscore (觉得这部分眼熟的可以直接跳到下一段了...) 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中。 阅读一些著名框架类库的源码,就好像和一个个大师对话,你...
不用循环创建一个长度为100的数组,并且每个元素的值等于它的下标 先来说一下最直接的解法… var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,...
数组循环 针对数组,for循环完全OK,此处略过不表,只说一说为方便我们开发而那些内置的方法: forEach 就是for循环的简化,将每个值取出去做我们想做的事儿 var arr=[1,2,3,4]; ...
为什么要使用正则表达式 正则表达式通过由普通字符和特殊字符组成的文字模板完成对字符串的校验,搜索,替换。在javascript中类似这样 ...
ECMAScript6(ECMAScript 2015 ,ES5,ES2016)技术已经在前端圈子很流行了,他给前端开发人员带来了很多惊喜,提供的语法糖使复杂的操作变得简单。 本文没有详细描述这些新特性,因为网上都已经有很多相关的介绍了。主要针对ES6 新特性...
代码案例以及文章内容均来自阮一峰的ECAMScript6入门: ...
故事是这样的:小铁去某厂面试,被问到Promise的出现是为了解决哪些问题?小铁胸有成竹脱口而出:Promise的出现是为提高代码的可读性,用同步的方式来写异步。然鹅,面试官对这个回答并不满意,说这只是一方面,并没有答到点上。Promise的出现是为了 …… ...