摘要:
ES6 模块的设计思想,是尽量静态化,编译时就能确定模块的依赖关系,以及输入和输出的变量。CommonJS 和 AMD 模块,都只能在运行时确定这些。 ES6 模块不是对象,而是通过export命令显式指定输出的代码,再通过import命令输入。这种加载称为“编译时加载”或者静态加载,即 ES6 可 阅读全文
摘要:
1.什么是Promise? 1.定义:所谓Promise对象,是用来传递异步操作消息的对象。它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的API,可供进一步处理。 2.特点: a.对象状态不受外界影响。Promise对象代表一个异步操作,有三种状态:Pending( 阅读全文
摘要:
提到前端性能优化中图片资源的优化,懒加载和预加载就不能不说,下面我用最简洁明了的语言,说明懒加载和预加载的核心要点以及实现。 1.懒加载 懒加载的要点如下: 1.图片进入可视区域之后请求图片资源; 2.对于电商等图片较多,页面很长的业务场景很适用; 3.可以减少无效资源的加载; 4.并发加载的资源过 阅读全文
摘要:
整体来说,ES6对正则表达式的更新和改变不多也不难,下面简单总结于下 1.RegExp构造函数 ES5 RegExp构造函数只能接受字符串作为参数,而ES6中,其可以接受正则表达式作为参数 如果使用RegExp的构造函数的第二个参数指定修饰符,那么返回的正则表达式会忽略其原有的的修饰符 2.字符串的 阅读全文
摘要:
本文主要讲解webpack.config.js文件的配置,不会讲解webpack是什么,默认你会安装webpack及其它npm包,并对webpack有一些了解。 下面将从webpack.config.js最基本的概念开始。 1.webpack.config.js常见选项 1.entry : js的入 阅读全文
摘要:
二叉树的节点最多只能有两个子节点,一个左侧子节点,一个右侧子节点。 二叉搜索树(BST),是二叉树的一种,但只允许在左侧节点存储比父节点小的值,在右侧节点存储比父节点大或等于父节点的值。 1.创建BST 1.1创建BST类 首先申明BST类的基本结构 下面我们实现一些基本方法 1.2 向树中插入一个 阅读全文
摘要:
ECMAScript6原生实现了Map类,即我们所说的字典,字典和集合很像,不过集合是以值值得形式存储元素,字典则是以键值的形式存储元素。字典也叫映射。 1. 创建一个字典 与Set类一样,我们用Object的实例而不是数组存储元素,我们实现以下方法: 1.set(key,value):向字典中添加 阅读全文
摘要:
集合是由一组无序且唯一的项组成,ECMAScript2015(ES6)包括了Set类的实现,下面用ES5模拟实现ES6中的Set类 1.创建集合 我们用对象来实现Set类,当然也可以用数组,js对象一个键不能指向两个值,这保证了集合元素的唯一性。先初始化Set类 1.1 has方法 用js的in操作 阅读全文
摘要:
链表存储有序的指向元素集合,但不同于数组,链表中的元素在内存中并不是连续放置的。每个元素有一个存储元素本身节点和一个 指向下一元素的引用组成。 1.创建一个链表 首先初始化链表LinkedList类 1.1 向链表尾部追加元素 有两种情况,一种链表为空,添加的是第一个元素,另一种是链表不为空,向其追 阅读全文
摘要:
变量的解构赋值 1.数组解构赋值 1.1 基本用法 ES6允许按照一定模式,提取数组或对象的值,对变量赋值,称之为解构赋值 以往对变量赋值如下: ES6中可写成以下形式: 这种写法属于“模式匹配”,只要等号两边的模式对应,右边的值便会赋予左边对应的变量。 注意下面的写法: 注意,只要某种数据结构具有 阅读全文