摘要: 一、类型注解(Type annotation) 所谓类型注解,就是人为为一个变量指定类型,例如: const a: number = 123; 在 vscode 中鼠标移入 a 出现提示,冒号后面就是类型注解: 当不添加类型注解时,TypesScript 也能知道变量 a 是一个数字,这就是 Typ 阅读全文
posted @ 2020-07-22 22:17 Leophen 阅读(2032) 评论(0) 推荐(0) 编辑
摘要: 一、什么是接口 在 TypeScript 中,我们使用接口(Interfaces)来定义对象的类型 接口是一系列抽象方法的声明,是一些方法特征的集合,第三方可以通过这组抽象方法调用,让具体的类执行具体的方法 TypeScript 中接口除了可用于对类的一部分行为进行抽象以外,还可用于对「对象的形状( 阅读全文
posted @ 2020-07-09 22:52 Leophen 阅读(2973) 评论(0) 推荐(0) 编辑
摘要: 一、TypeScript 的安装及使用 1、安装 npm i typescript -g // ts 全局包 npm i ts-node -g // 使用 ts-node 直接运行 ts 文件 2、使用 将 TypeScript 转换为 JavaScript 代码: tsc test.ts 使用 n 阅读全文
posted @ 2020-07-06 22:49 Leophen 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 一、svg 在网页中的一般用法 svg 使用 XML 格式定义图像,基本使用如下: <body> <svg width="50" height="50" version="1.1" xmlns="http://www.w3.org/2000/svg"> <rect width="100%" heig 阅读全文
posted @ 2020-06-28 11:15 Leophen 阅读(2130) 评论(0) 推荐(0) 编辑
摘要: 指针锁定 Pointer Lock API 通过它可以访问原始的鼠标运动(基于指针的相对位移 movementX / movementY),把鼠标事件的目标锁定到一个特定的元素,同时隐藏视图中的指针光标(可通过 ESC 显示),并且可以消除鼠标在一个方向上移动的边界限制。 这个 API 对于需要大量 阅读全文
posted @ 2020-06-19 13:55 Leophen 阅读(804) 评论(0) 推荐(0) 编辑
摘要: 一、移动端 Mint Cube MUI Vant Vux Muse-ui 二、PC 端 Element UI iView Layui Ant Design Bootstrap vuetify 三、FrameWorks Flutter Taro Framework7 阅读全文
posted @ 2020-05-11 11:37 Leophen 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 一、全局安装 Hexo $ npm install hexo-cli -g 二、初始化博客项目并安装依赖 $ hexo init blog$ cd blog$ npm install 三、运行博客项目 $ hexo server 也可以简写 $ hexo s 查看运行结果 → 访问:http://l 阅读全文
posted @ 2020-04-21 17:04 Leophen 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 一、Koa 设置 Cookie ctx.cookies.set(name, value, [options]) 通过 options 设置 cookie name 的 value : maxAge 一个数字表示从 Date.now() 得到的毫秒数 signed cookie 签名值 expires 阅读全文
posted @ 2020-04-21 00:53 Leophen 阅读(3376) 评论(0) 推荐(0) 编辑
摘要: 一、Koa 中间件的原理 koa 把很多 async 函数组成一个处理链,每个 async 函数都可以做一些自己的事情,然后用 await next() 来调用下一个 async 函数。我们把每个 async 函数称为 middleware,这些 middleware 可以组合起来,完成很多有用的功 阅读全文
posted @ 2020-04-20 22:27 Leophen 阅读(1042) 评论(0) 推荐(0) 编辑
摘要: Async 和 Awaiit 是 Promise 的扩展,我们知道 JavaScript 是单线程的,使用 Promise 之后可以使异步操作的书写更简洁,而 Async 使 Promise 像同步操作 一、Async Async 自动将常规函数转换成 Promise,返回值一个 Promise 对 阅读全文
posted @ 2020-04-20 19:03 Leophen 阅读(576) 评论(0) 推荐(0) 编辑
摘要: 一、全局安装 koa-generator $ npm install -g koa-generator 二、创建 koa 项目 $ koa2 project 如果想使用 ejs 引擎的话可以用: $ koa2 -e project 三、进入项目并安装依赖 $ cd project$ npm inst 阅读全文
posted @ 2020-04-20 16:33 Leophen 阅读(3352) 评论(0) 推荐(0) 编辑
摘要: 一、创建项目并进入 $ mkdir project$ cd project 二、快速生成 package.json 文件 $ npm init -y 三、安装 Koa $ npm i koa 四、创建 app.js 并输入以下代码 // 导入koa,和koa 1.x不同,在koa2中,我们导入的是一 阅读全文
posted @ 2020-04-20 16:16 Leophen 阅读(887) 评论(0) 推荐(0) 编辑
摘要: 一、什么是 Babel Babel 是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其它环境中。 // Babel 输入:ES2015 箭头函数 [1,2,3].map((n)=>n+1) // 阅读全文
posted @ 2020-04-17 19:22 Leophen 阅读(1105) 评论(0) 推荐(0) 编辑
摘要: 一、Webpack 的概念 本质上,Webpack 是一个现代 JavaScript 应用程序的静态模块打包工具。当 Webpack 处理应用程序时,它会在内部构建一个依赖图(dependency graph),此依赖图会映射项目所需的每个模块,并生成一个或多个 bundle 二、Webpack 的 阅读全文
posted @ 2020-04-17 18:49 Leophen 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 一、什么是 reduce() ? reduce() 方法对数组中的每个元素执行一个升序执行的 reducer 函数,并将结果汇总为单个返回值 const array1 = [1, 2, 3, 4]; const reducer = (accumulator, currentValue) => acc 阅读全文
posted @ 2020-03-16 18:44 Leophen 阅读(935) 评论(0) 推荐(1) 编辑
摘要: 一、JPG 有损压缩,压缩率高 不支持透明 适用于不需要透明图片的业务场景 二、PNG 支持透明 浏览器兼容性好 适用于需要透明图片的业务场景 三、SVG 矢量图,代码内嵌,相对较小 适用于图片样式相对简单的场景 四、WEBP 压缩程度好 但在 ios webview 有兼容性问题 适用于安卓 阅读全文
posted @ 2020-02-06 22:07 Leophen 阅读(983) 评论(0) 推荐(0) 编辑
摘要: 一、png8 256 色 支持透明 png8 包括索引色透明和 Alpha 透明: 索引色透明只能指定一个像素点是否为透明 Alpha 透明则可指定一个像素点的透明度 二、png24 2^24 色 不支持透明 png24 不支持透明度设定,但可用的颜色比 png8 丰富 三、png32 2^24 色 阅读全文
posted @ 2020-01-11 21:57 Leophen 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 一、HTML 压缩 1、利用在线网站进行压缩(https://tool.oschina.net/) 2、nodejs 提供了 html-minifier 工具 3、后端模板引擎渲染压缩 二、CSS 压缩 1、利用在线网站进行压缩 2、使用 html-minifier 对 html 中的 css 进行 阅读全文
posted @ 2019-12-23 21:40 Leophen 阅读(402) 评论(0) 推荐(0) 编辑
摘要: ES5 数组遍历方法 1、for 循环 const arr = [1, 2, 3, 4, 5] for (let i = 0; i < arr.length; i++) { console.log(arr[i]) } 2、forEach const arr = [1, 2, 3, 4, 5] arr 阅读全文
posted @ 2019-11-27 23:32 Leophen 阅读(660) 评论(0) 推荐(0) 编辑
摘要: 题目要求: 解法一: 直接用 sort 从大到小排序,取第 k 个 var findKthLargest = function (nums, k) { nums.sort((a, b) => { return b - a }); return nums[k - 1]; }; 解法二(优化性能): 使 阅读全文
posted @ 2019-11-12 21:42 Leophen 阅读(305) 评论(0) 推荐(0) 编辑