摘要: 使用webpack进行打包就必须要掌握webpack的5个核心的概念 入口(entry) 入口起点(entry point) 指示 webpack 应该使用哪个模块,来作为构建其内部 依赖图(dependency graph) 的开始。进入入口起点后,webpack 会找出有哪些模块和库是入口起点( 阅读全文
posted @ 2021-10-26 22:27 keyeking 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 概述 webpack是node工作流工具,是一个模块打包器。它的主要目的是将JavaScript的文件打包到一起,打包将复杂的、浏览器不识别的文件、语法变为浏览器识别的文件和语法后用于在浏览器中使用 官网地址:https://webpack.docschina.org/ webpack的核销思想就是 阅读全文
posted @ 2021-10-26 22:25 keyeking 阅读(175) 评论(0) 推荐(0) 编辑
摘要: ES6 模块的设计思想,是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量 基本使用 目录结构: 我们要将index.html文件当做浏览器显示页面,需要引入import.js 文件即可,import.js文件中要获取export.js文件中的值 <!DOCTYPE html> 阅读全文
posted @ 2021-10-26 20:10 keyeking 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 基本使用 CMD英文全称 Common Module Definition(通用模块定义); NodeJS就是CMD规范的 CMD规范的实现:commonjs 、seajs、nodejs 我们以seajs举例实现 <!DOCTYPE html> <html lang="en"> <head> <me 阅读全文
posted @ 2021-10-26 18:00 keyeking 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 传统HTML文件的引入问题 一个HTML页面中,如果引用了多个js文件会发生什么样的事情? 比如我们下面的HTML文件中,引入了1.js和2.js,这两个文件中同时都设置了fun函数,那么此时执行哪一个? <!DOCTYPE html> <html lang="en"> <head> <meta c 阅读全文
posted @ 2021-10-26 17:17 keyeking 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 语法的修改 在ES6之前定义正则有两种方式 var regex = new RegExp('xyz', 'i'); // 等价于 var regex = /xyz/i; 此时定义正则有了新的改变 ES5不允许此时使用第二个参数,添加修饰符,否则会报错,但是ES6可以了,下面的代码不会报错 var r 阅读全文
posted @ 2021-10-26 15:54 keyeking 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 二进制和八进制表示法 ES6提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。 0b111110111 503 // true 0o767 503 // true 从 ES5 开始,在严格模式之中,八进制就不再允许使用前缀0表示,ES6 进一步明确,要使用前缀0o表示 阅读全文
posted @ 2021-10-26 15:19 keyeking 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 概述 ES5的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin模式),新方法的名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突。这就是ES6引入Symbol的 阅读全文
posted @ 2021-10-26 14:21 keyeking 阅读(636) 评论(0) 推荐(0) 编辑
摘要: 概述 Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。Reflect对象的设计目的有这样几个。 (1) 将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。现阶段,某些方法同时在Object 阅读全文
posted @ 2021-10-26 11:21 keyeking 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 概述 Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。 Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和 阅读全文
posted @ 2021-10-26 11:15 keyeking 阅读(209) 评论(0) 推荐(0) 编辑
摘要: WeakMap结构与Map结构基本类似,唯一的区别是它只接受对象作为键名(null除外),不接受其他类型的值作为键名,而且键名所指向的对象,不计入垃圾回收机制 let map = new WeakMap(); let obj = {} map.set(obj,"200"); console.log( 阅读全文
posted @ 2021-10-26 10:01 keyeking 阅读(56) 评论(0) 推荐(0) 编辑
摘要: Set类似于数组,Map类似于对象。 为什么要有Map,使用对象的时候,key(键)只能是基本类型值(字面量类型,多数是字符串),Map的key可以是任意类型 基本使用 var mapObj = new Map(); mapObj.set("a",1) console.log(mapObj); 我们 阅读全文
posted @ 2021-10-26 09:58 keyeking 阅读(86) 评论(0) 推荐(0) 编辑
摘要: WeakSet的使用 Set和WeakSet的区别是set内部建议存放数组,WeakSet内部建议存放引用类型(数组和对象) WeakSet和Set的区别: WeakSet中只能存放对象类型,不能存放基本类型 WeakSet对元素的引用第弱引用,如果没有其他引用对某个对象进行引用,那么GC可以对该对 阅读全文
posted @ 2021-10-26 09:29 keyeking 阅读(201) 评论(0) 推荐(0) 编辑
摘要: Set的基本使用 ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 返回的结果是一个set集合,和数组对象都不一样,是一个新的数据集合 设置初始值的方法有两种,第一中是通过add()方法进行设置的,第二种就是初始化的时候内部设置数组 let set = new 阅读全文
posted @ 2021-10-26 09:20 keyeking 阅读(281) 评论(0) 推荐(0) 编辑