(2)前端工具链:mocha+Istanbul
二、工具链—单元测试工具 所谓”测试框架”,就是运行测试的工具。通过它,可以为JavaScript应用添加测试,从而保证代码的质量。
1、mocha的使用全局安装:
1$ npm install --global mocha
新建“test-demo文件夹”,安装项目的开发环境依赖:
123$ cd test-demo$ npm install$ npm install --save-dev mocha
“test-demo文件夹”下新建“test文件夹”;
“test-demo文件夹”下新建add.js:
1234function add(a, b) { return a + b;}module.exports = add;
“test文件夹”下新建test.js:
1234567891011121314var assert = require('assert');var add = require('./add.js');// describe块称为"测试套件"(test s ...
1、LeetCode-刷题🈯️难
刷题平台:
LeetCode
https://leetcode-cn.com/
刷题方法:
通用方法
空间/时间复杂度方法
重点关注
数据结构与算法的特点
应用场景
js实现
时间/空间复杂度
刷题顺序:
按照类型
题库页面筛选标签挑选类型
LeetCode使用
解题时用Markdown记笔记,可以在个人中心中导出PDF版
关注提高提交通过率
每次提交注意检查数据结构操作上的bug
3、LeetCode-算法
1、算法的基本概念
算法:抽象中表示对特定问题求解步骤****描述,计算机中表示指令的有限序列;
算法具有五个基本特性:输入、输出、有穷、确定、可行;
算法具有零个或多个输入;
算法具有一个或多个输出;
算法不允许出现无限循环;
算法步骤不会出现二义性;
算法的每一步都是可行的;
算法设计的要求:正确性、可读性、健壮性、高效率、低存储量;
2、算法的效率和度量方法
事后统计方法
事前分析估算方法
3、算法时间复杂度
算法时间复杂度:在进行算法分析时,语句总执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度,记作:T(n)=O(f(n))。它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法渐进复杂度,简称时间复杂度。其中f(n)是问题规模n的某个函数;
常用时间复杂度排序(小到大,汉字为非正式术语):
常数阶O(1)<对数阶O(log**n)<线性阶*O(n)<nlog阶O(nlogn*)<平方阶O(n2)<立方阶O(n3)< ...
2、LeetCode-数据结构
程序设计=数据结构+算法
1、基本概念和术语
数据>数据对象>数据元素>数据项
数据:是描述客观事物的符号,能被计算机识别处理的符号集合;
数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理;
数据项:一个元素由若干个数据项组成,数据项是数据不可分割的最小单位;
数据对象:是性质相同的数据元素的集合,是数据的子集;
数据结构:相互之间存在一种或多种特定关系的数据元素的集合。它包括
逻辑结构
存储结构
数据运算
2、逻辑结构和物理结构
逻辑结构是面向问题的,而物理结构是面向计算机的,其基本目的是将数据及其逻辑关系****存储到计算机内存中。
2.1、逻辑结构
逻辑结构:是指数据对象中数据元素之间的相互关系;
逻辑结构分为以下四种:
集合结构:数据元素同属一个集合;
线性结构:数据元素间一对一关系;
树形结构:数据元素间一对多关系;
图形结构:数据元素间多对多关系;
2.2、物理结构
物理结构(存储结构):是指数据的逻辑结构在计算机中的存储形式;
物理结构分为以下两种:
顺序存储结构:把数据元素存在地址连 ...
①vue-初探
1、hello word
{{}}`:插值表达式,在标签中使用数据的语法;
- `{{ "a" + "b" }}:之间可以插入 js 表达式;
{{ if(true){console.log} }}:之间不可以插入 js 语句;
Vue.createApp({}):创建Vue实例;
Vue.createApp({}).mount('#root'):在#root节点置入Vue实例;
template: <div>hello word</div>:值为字符串,是在HTML中显示的内容,为Vue创建实例时传入对象的一部分;
12345678<body> <div id="root"></div> <script> Vue.createApp({ ...
(1)前端工具链:yeoman
为 JS 生产环境制作工具链,覆盖前端开发各个环节;
1、脚手架
所有工具的开端都是脚手架(generator);
yeoman 是社区较流行的脚手架生成器;
2、yeoman 的基本使用2.1、创建脚手架(generator)
创建一个文件夹 toolchain ,在其中编写生成器;
该文件夹下通过命令行运行 npm init ,生成 packge.json 如下:
Name 属性必须以 generator- 为前缀;
运行:npm install -- save yeoman-generator,将 yeoman-generator 设置为一个依赖项;
123456789101112131415{ "name": "generator-toolchain", "version": "1.0.0", "description": "", "main": "generators/app/ind ...