JS循环引用问题 发表于 2020-06-04 | 分类于 JavaScript | import 和 requireimport是ES6出的模块化方案,其目的是尽量静态化,所以ES6的模块化是编译时解析 require是运行时解析,是一个值得拷贝,是属于浅拷贝当使用require命令加载同一个模块时,不会再执行该模块,而是取到缓存之中的值。也就是说,commonjs模块无论加载多少 ... 阅读全文 »
JS模块化 发表于 2020-06-02 | 分类于 JavaScript | JS的模块通常就是指一个文件,每一个文件当做一个独立的作用域,对外暴露变量或者函数。JS模块化有几种方案分别是 CommonJS,AMD,CMD,UMD,ESModule CommonJS适用于服务端最大的特点就是同步加载流程:路径解析–>文件加载–>模块封装–>编译执行–> ... 阅读全文 »
JS异步解决方案 发表于 2020-05-07 | 分类于 JavaScript | 所谓异步,就是在函数执行后不能马上得到结果就是异步函数,常见的比如ajax.JavaScript针对异步提供了以下六种解决方式 回调函数回调函数是一个函数作为参数传递给另一个函数的函数,然后在需要调用的时候调用这个函数 12345678910function add(a, b, callback) ... 阅读全文 »
JS处理数据生成Excel表格 发表于 2020-04-23 | 分类于 JavaScript | JS原生生成表格12345678910111213141516171819202122function toExcel() { // 列标题,逗号隔开,每一个逗号就是隔开一个单元格 let str = `标题1, 标题2, 标题3, 标题4\n`; // 增加\t为了 ... 阅读全文 »
JS生成AST及CFG 发表于 2020-04-21 | 分类于 JavaScript | JS生成ASTAST:抽象语法树。通过对源码进行词法分析、语法分析生成抽象语法树。 JavaScript生成AST有许多工具,这里主要介绍一种 Esprima 的使用. npm install esprima开始使用esprima文档 基础esprima.parse(input, config, d ... 阅读全文 »
《HTTP权威指南》读书笔记---第一部分 发表于 2020-04-20 | 分类于 计算机网络 | 这一部分讲1~4章,简述HTTP协议。 第一章:http概述主要讲述HTTP如何工作的。 web客户端与服务端:web服务器上存储着内容,客户端通过HTTP协议向HTTP服务器请求响应内容。web客户端与服务端是基本组件。 资源:web服务器是web资源的宿主。静态文件(.img、.html、.av ... 阅读全文 »
js之深拷贝 发表于 2020-04-20 | 分类于 JavaScript | JS中对象存储在堆中,对象赋值给变量的过程中实际是把对象在堆中的地址赋值给变量。所以在将一个对象赋值给多个变量时实际是地址赋值给多个变量,实际是一个对象。在改变对象内值得同时如不进行深拷贝也会影响到其他变量。 深拷贝实现JSON.sringify 和 JSON.parse12// 将对象转换为字符 ... 阅读全文 »
Markdown语法 发表于 2020-04-19 | 分类于 Markdown | Markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。 标题逐级递减,#后需要一个空格才生效 123456# 这是一级标题## 这是二级标题### 这是三级标题#### 这是四级标题##### 这是五级标题###### 这是六级标题 字体1234**这 ... 阅读全文 »
JS知识整理 发表于 2019-08-19 | 分类于 面试 | JSwindow.onload和$(document).ready()的区别,浏览器加载转圈结束时哪个时间点?window.onload是等到页面全都加载完才开始执行,且只能有一个window.onload,如果有多个只会执行最后一个$(document).ready()等到DOM节点加载完开始执行 ... 阅读全文 »