自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 17 ES6标准入门(Module)

精华(1) ES6是静态加载,在编译时加载,为静态代码检查提供了更多可能性。(2) export实质上是向外提供了接口,正确的语法:export const a = 1export function f(){}// 更加推荐的做法:const b = 1const c = 'de'function g(){}export {a, g}export {a as hel...

2018-04-28 14:52:32 264

原创 12 ES6标准入门(Generator函数的异步应用)

ES6 诞生以前,异步编程的方法,大概有下面四种。 - 回调函数 - 事件监听 - 发布/订阅 - Promise 对象协程的Generator函数实现整个Generator函数就是一个封装的异步任务,或者说是异步任务的容器。异步操作需要暂停的地方,都用yield语句注明。Generator函数可以暂停执行和恢复执行,这是它能封装异步任务的根本原因。除此之外,它还有两个特性...

2018-04-27 17:35:50 167

原创 16 ES6标准入门(Decorator)

Webpack 配置目前使用这个特性,需要使用webpack进行编译首先安装插件:npm install babel-plugin-transform-decorators-legacy --save-dev然后在哎.babelrc中进行配置:{ "presets": ["es2015", "stage-0", "react"], "plugins": [ ...

2018-04-27 09:28:21 247

原创 2017年前端面试经历7-瓜子二手车

本来只是打算过去面试,打打酱油,有个一小时就能回来,结果没想到一去就是四面,结束之后居然拿到offer了面试了这么多家,拿到的第一个offer,还是挺高兴的HR总是一副言语轻柔但是盛气凌人的态度,给我的最后期限就是今天下午(周五下午6点前),我不准备接受这个offer,因为我觉得网易和百度应该八九不离十,而且我觉得去瓜子这种平台,我可能不到一年又会想要离开,这样的话我还不如在简单再沉淀一下...

2018-04-26 19:59:02 3379

原创 15 ES6标准入门(class的继承)

这里的内容和原型、继承关系很大,应该再重新回顾原型、继承之后再来重看这里(2018.4.26)简介Class可以通过extends关键字实现继承class Point {}class ColorPoint extends Point { constructor(x, y, color) { super(x, y); // 调用父类的constructor(x, y...

2018-04-26 16:51:52 201

原创 14 ES6标准入门(class)

ES6为了更接近传统语言的写法,引入了Class的概念,作为对象的模板。基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。ES5的写法:function Person(name) { this.name = name}Person.prototype.sayHe...

2018-04-26 11:46:37 195

原创 13 ES6标准入门(async函数)

含义async函数是ES2017引入的,实质上,async函数是Generator函数的语法糖用一个Generator函数依次读取两个文件const fs = require('fs');const readFile = function (fileName) { return new Promise(function (resolve, reject) { fs....

2018-04-25 16:52:50 522

原创 JS40 reduce方法

数组的reduce()方法接受一个函数作为累加器,将数组的每个值从左到右开始用该函数进行处理,最终输出为一个值最常见的用法就是数组求和:let arr = [5, 4, 3, 2, 1];let reducer = (total, currentValue, currentIndex, arr) => { console.log('total', total); con...

2018-04-25 16:11:34 531

原创 11 ES6标准入门(Generator)

基本概念Generator函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同。Generator函数有多种理解角度。语法上,首先可以把它理解成,Generator函数是一个状态机,封装了多个内部状态。执行Generator函数会返回一个遍历器对象,也就是说,Generator函数除了状态机,还是一个遍历器对象生成函数。返回的遍历器对象,可以依次遍历Generator函数...

2018-04-24 19:26:47 132

原创 10 ES6标准入门(Iterator)

Iterator(遍历器)的概念遍历器(Iterator)是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)。Iterator 的作用有三个: 1. 为各种数据结构,提供一个统一的、简便的访问接口 2. 使得数据结构的成员能够按某种次序排列 3. ES6 创造了一种新的遍历命令for....

2018-04-20 15:26:58 132

原创 09 ES6标准入门(Promise)

含义Promise 是异步编程的一种解决方案,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。Promise对象有以下两个特点。对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:...

2018-04-19 10:20:50 203

原创 08 ES6标准入门(Reflect)

概述Reflect 对象与 Proxy 对象一样,也是 ES6为了操作对象提供的新的 API,Reflect 对象的设计目简单来说有两方面: 1. 补充原型定义在 Object 对象上的方法的不规范和不足 2. 与 Proxy 对象一一对应,让 Proxy 对象可以方便的调用对应的 Reflect 方法,也就是说,不管 Proxy 怎么修改默认行为,你总可以在 Reflect 上获取默认行...

2018-04-19 10:20:31 133

原创 07 ES6标准入门(Proxy)

概述Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。var obj = new Proxy({}, { get: function (target, key, receiver) { console.log(`getting ${key}!`); return R...

2018-04-19 10:20:12 289

原创 06 ES6标准入门(Set 和 Map 数据结构)

SetSet类似于数组,但成员都是唯一的。Set本身是一个构造函数,用来生成Set数据结构const set = new Set();let arr = [1, 2, 2, 3, 4, 4, 5];arr.forEach(x = > set.add(x));console.log(set); // 1,2,3,4,5Set函数可以接受一个函数作为参数,用来初始化...

2018-04-18 17:25:27 133

原创 05 ES6标准入门(Symbol)

概述ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是:undefined、null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。注意,Symbol函数前不能使用new命令,否则会报错。也就是说,由于 Symbol 值不是对象,所以不能添加属性。Symbol函...

2018-04-18 17:25:15 159

原创 04 ES6标准入门(对象的扩展)

==对原型、super关键字的理解还是模模糊糊,super指向当前对象的原型对象,怎么使用呢?为什么在constructor里面要用super呢?看看后面再回头看能不能理解吧。(20180126)==对象的简写对象中可以直接写变量,此时属性名为变量名,属性值为变量值let a = 'z';let b = {a};除了属性,方法也可以简写:let obj = { ...

2018-04-18 17:25:01 187

原创 03 ES6标准入门(函数的扩展)

思考题第一道:function foo() { setTimeout(() => { console.log('id:', this.id); }, 100);}var id = 21;foo.call({ id: 42 });第二道function Timer() { this.s1 = 0; this.s2 = 0; // 箭...

2018-04-18 17:24:44 229

原创 02 ES6标准入门(数组的扩展)

第七章 数组的扩展Array.from()将类数组对象(比如arguments对象和DOM操作返回的NodeList集合)和可遍历对象(iterable, 比如Map和Set)let a = { 0: 1, 1:100, length: 2}[].slice.call(a);Array.from(a)也可以将字符串转换成数组(因为字符串部署了Itera...

2018-04-18 17:24:25 144

原创 01 ES6标准入门(2-6章)

买了一年多了,当时只是为了应付面试,简单看了一下重点,现在发现第三版都已经出了,可是好多东西我还是模棱两可。塌下心来,认真的学习一遍第二章 let和const不存在变量提升let和const不存在变量提升,所以变量一定要在声明后使用,否则报错console.log(a); // undefinedvar a = 123;console.log(b); //...

2018-04-18 17:24:07 196

原创 2017年前端面试经历6-京东无线

京东的机会其实挺多也挺不错的,京东总部在亦庄,实在无法考虑。每天来回的时间最少也得三个多小时。后来发现在京东在北辰还有办公地点,离家很近,坐地铁去不能更方便。于是也参加了两次面试。第一个是京东的无线团队,这个有点特殊,这个团队是京东在上海的团队,但是这个团队需要在北京招聘研发人员留守,所以人在北京,每天业务沟通都要通过电话会议或者其他通讯工具,实在是有些别扭这次面试比较水,现场面试的姑娘和...

2018-04-12 16:46:01 906

原创 清除浮动

一个误区<div class="left">左侧</div><div class="right">右侧</div><div class="bottom">底部</div>.left { float: left; width: 1000px; heigh

2018-04-03 12:07:10 111

原创 call和apply的理解

例子假设有一个构造函数 Catfunction Cat(){}在它的原型上定义一个方法:Cat.prototype.food = 'fish';Cat.prototype.say = function(){ alert('I like ' + this.food)}创建一个 Cat 的实例 miao, 就可以调用原型上的方法let miao = n...

2018-04-03 10:35:25 276

原创 2017年前端面试经历5-华融科技

华融是一个央企,当时经过初试,让我心情很沮丧。但是后来发现,原来不是他们没看上我,而是不担心浪费面试者的时间,就是一次一次慢慢来,初试就是简单聊15分钟就让你走人,回头再约你过来复试。后来收到几个offer之后,也就没在接受它的复试邀请,目前阶段还是不适合去国企。那天本来约了两个面试,上午是华融,下午是美团外卖。上午一大早跑到金融街,结果找不到停车位,费了好久停好车,去了华融。果然是央...

2018-04-02 19:09:36 659

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除