自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 TS中的接口(interface)与类型别名(type alias)

TS中的接口(interface)与类型别名(type alias)定义在 typescript 中, 我们声明类型有两种方式: 接口(interface) 和类型别名(type alias),官方文档对于两者及其异同的描述如下:One of TypeScript’s core principles is that type checking focuses on the shape that values have. This is sometimes called “duck typing” o

2021-09-09 23:36:06 4318

原创 TS/JS 实现几种常见的排序

TS/JS 实现几种常见的排序选择排序算法描述:在未排序序列中找到最小(大)元素,存放到排序序列的起始位置从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾重复第二步,直到所有元素均排序完毕function selectSort(array: number[]): number[] { const arr = [...array] let minIndex: number for (let i = 0, len = arr.length; i <

2021-09-08 23:56:43 1864

原创 关于Mongoose 验证器(Validator)对更新操作无效的问题

Mongoose 在 4.0 版本之前,验证器不支持update()、findByIDAndUpdate()、findOneAndUpdate(), 但可以支持实例方法 document.save()。所以可以先找到该条数据,然后调用save()方法来实现:Model.findOne({_id: modelId}, (err, model) => { model.name = 'newN...

2020-03-27 20:33:42 708

原创 客户端渲染(CSR) 和 服务端渲染(SSR)的对比

客户端(前端)渲染 VS 服务端渲染客户端渲染(CSR, Client Site Rendering)定义:html 仅仅作为静态文件,客户端端在请求时,服务端不做任何处理,直接以原文件的形式返回给客户端客户端,然后根据 html 上的 JavaScript,生成 DOM 插入 html。特点:fat-client,thin-server服务端渲染(SSR, Server Site Re...

2020-03-26 18:34:31 1430

原创 js单例模式

JS单例模式 (Singleton)单例模式的核心是确保 一个特定类只有一个实例,并提供这个实例的全局访问在构造函数的静态属性中缓存该实例function Sington() { if(typeof Sington.instance === 'object') { return Sington.instance } Sington.instanc...

2020-02-22 10:46:21 150

原创 ES6变量声明问题

新增let和constlet和const是ES6新增的声明变量的命令let用于声明变量const用于声明常量关于let和const相对于var的区别:1.let和const声明的变量属于块作用域,而var声明的变量属于全局作用域和函数作用域{ var foo = 1}console.log(foo)// output: 1{ let bar = 2}console...

2019-08-07 13:50:54 142

原创 ES6中for循环中设置循环变量的部分的作用域范围

for (let i = 0; i < 3; i++) { }console.log(i)// output: ReferenceError: i is not defined以上代码报错,说明设置循环变量的部分与外部作用域不是同一个块作用域for (let i = 0; i < 3; i++) { let i = 'x' conso...

2019-08-07 11:33:28 604 3

原创 NodeJS操作MySQL

NodeJS操作MySQL安装mysql模块npm install mysql引入mysql模块const mysql = require('mysql')创建连接const connection = mysql.creatConnection({ host: 'localhost', user: 'root', password: 'serce...

2019-08-06 11:36:27 103

翻译 Mongoose解决MongoDB弃用警告(DeprecationWarning)

MongoDB弃用警告原文链接:https://mongoosejs.com/docs/deprecations.html#-findandmodify-在MongoDB Node.js驱动程序中有几个弃用,Mongoose提供了解决这些弃用警告的选项摘要要修复所有弃用警告,请按照以下步骤操作:mongoose.set('useNewUrlParser', true)mongoose...

2019-08-06 10:54:29 24859 1

原创 MongoDB的基本使用

MongoDB的基本使用1.MongoDB 的基本概念MongoDB是一个基于文档的通用分布式数据库,专为现代应用程序开发人员和云时代而构建。数据库(database)集合(collection)文档对象(document object)大致存储结构如下:(类似json) { database1: { collection1: [ { doc...

2019-08-04 15:05:29 243

原创 JS数组遍历相关

参考链接:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayArray.prototype.forEach() // 语法:arr .forEach(callback(currentValue [,index [,array]]) [,thisArg ]); /**...

2019-08-03 12:03:17 110

原创 Express 获取表单内容

在 Express 中没有内置获取表单 POST 请求体的 API,所以需要引入第三方包body-parser npm install --save body-parserboder-parser的使用:参考网址:http://expressjs.com/en/resources/middleware/body-parser.html var express = require('exp...

2019-07-20 17:17:13 958

原创 Node 自动重启服务器

安装第三方命令行工具:nodemon npm install -g nodemon安装完毕后,用nodemon代替原来的node命令 # node app.js nodemon app.js只要是通过nodemon启动的服务器,只要你修改了文件并保存,就会自动重启服务器...

2019-07-20 14:41:31 407

原创 关于 Node 里的相对路径

在加载自定义模块时,相对路径的./不能省略,后缀名.js可以省略 const bar = require('./data/bar');在文件操作时,相对路路径的./可以省略,后缀名不可以省略 const fs = require('fs'); fs.readFile('data/a.txt', function (err, data) { if (err) { retur...

2019-07-20 14:06:18 550

原创 TypeScript中遇到的问题:error TS2451: Cannot redeclare block-scoped variable 'name'

参考博客:https://blog.csdn.net/weixin_33832340/article/details/87516700问题const name: string无法重新声明块范围变量“name”。ts(2451)lib.dom.d.ts(18151, 15): ‘name’ was also declared here.原因在默认状态下,typescript 将 DO...

2019-07-17 23:22:31 6354

原创 TypeScript 开发 Node 的注意事项

使用 TypeScript 开发 Node的注意事项开发一个Node项目,肯定要用到核心模块和第三方模块。然而直接导入模块,在.ts文件中是不行的。由于typescript自身的机制,需要一份xx.d.ts声明文件,来说明模块对外公开的方法和属性的类型以及内容。在TypeScript 2.0以上的版本,可以通过获取类型声明文件这里举两个例子获取 node.js 核心模块声明文件的命...

2019-07-17 16:28:41 260

原创 VS Code 搭建 TypeScript 开发环境

相关资源链接VS Code 下载链接:https://code.visualstudio.comnode.js 下载链接:https://nodejs.org配置步骤全局安装 TypeScript:npm install -g typescript初始化 package.json 文件npm init如果要跳过向导,则npm init -y创建 tconfi...

2019-07-17 16:23:06 165

原创 php配置扩展(mb_string)

1.在 php 的安装目录下找到 php.ini-development,这是 php.ini 的模版,按这个模版创建 php.ini 文件(可以直接重命名,但是建议保留这个文档)2.打开 php.ini 文件,找到;extension_dir = "ext",去掉前面的“;”,并将ext改为php安装目录中ext文件的绝对路径3.设置 exetension = php_mbst...

2019-04-27 16:16:57 2810

原创 Apache配置PHP

PHP For Windows下载地址:https://windows.php.net/download#php-7.1这里下载的是PHP 7.2 (7.2.17)的VC15 x64 Thread Safe版本配置步骤:1.先将下载的压缩文件解到一个文件夹(我的解压路径是D:\develope\php)2.打开Apache的安装目录,找到conf文件夹中的httpd.conf...

2019-04-27 15:04:39 222

原创 Apache配置虚拟主机

一个主机只能有一个站点,如果要建多个站点,则需要配置虚拟主机而一旦设置了虚拟主机,则默认全部使用虚拟机。此时localhost访问的是第一个虚拟主机配置步骤:1.打开Apache安装目录,进入conf文件,修改其中的htppd.conf文件,将 Include conf/extra/httpd-vhosts.conf 前的“#”去掉即可2.在conf文件中打开extra文件夹,...

2019-04-26 13:46:12 296

原创 Apache安装

Apache官网下载地址:https://www.apachelounge.com/download/我下载的是win64的解压版(httpd-2.4.39-win64-VC15.zip)安装步骤:1.解压压缩文件,我的解压路径为D:/Apache。注意:文件夹及其路径最好不要有中文或空格;2.打开Apache中的conf文件夹,编辑其中的httpd.conf文件,修改Define...

2019-04-26 11:24:08 175

原创 CSS背景相关

background 背景background-color: <color值>color值可以设置方式:使用颜色名称,如red,green, skyblue等使用十六进制,如#ccc, #e3e4e5等,推荐使用十六进制使用rgb()或rgba()方式,如rgb(255,255,0), (rgba(255, 255, 0, .6)等,一般需要设置透明度就使用rgba方...

2019-04-23 13:59:36 164

原创 CSS选择器

选择器语法格式为selector {attr1: value1;attr2: value2;attr3: value3;.....}要注意的书写规范:(只是规范)selector与{}之间要有一个空格:与value值之间要有一个空格这里只列举常用的id选择器选择id为idName的元素(元素的idName是唯一的,只能对应于文档中某一个具体的元...

2019-04-22 23:39:47 103

原创 表单中常用的样式属性

outline 轮廓线outline有四个子属性outline-color:<color值>; outline-style:none| dotted(点)| dashed(虚线) | solid(实线) | double(双实线) | ···; outline-width:thin(细) | medium(默认) | thick(粗) | <length值>...

2019-04-22 22:15:09 283

原创 元素的显示与隐藏

设置元素显示与隐藏的常用属性display 显示方式none元素隐藏,且隐藏之后,不保留其位置 block元素作为块级元素显示 inline元素作为行级元素显示 inline-block元素作为行内块元素显示不同元素的display默认值不一样,一般使用none和block进行元素显示与隐藏的切换visibility 可见性hidden元素不可见,不是隐藏,所以...

2019-04-22 21:21:29 590

原创 CSS定位

定位(position)定位元素层级比一般元素层级高半级,会压住其他元素,同级元素遵循后来居上原则1.static:静态定位,默认值2.relative:相对定位不脱离文档流,在文档流占据位置,相对于父盒子定位3.absolute:绝对定位脱离文档流,不占位置,相对于祖先盒子最后一个非static定位的盒子定位。常用布局方式:子绝父相4.fixed:固定定位脱离文档...

2019-04-22 21:00:09 116

原创 清除内部浮动的常用方法

使父元素触发形成BFC(Block Formatting Context),最常见的就是设置overflow: hidden; afeter伪元素清除浮动 .clearfix::after { display: block; content: "."; clear: both; visibility: hidden; ...

2019-04-22 20:53:20 288

原创 BFC(Block Formatting Context)块级格式化上下文

Formatting Context在了解BFC之前,首先要了解下Formatting Context。Formatting context 是 W3C CSS2.1 规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。最常见的 Formatting context 有 Block fomatting context ...

2019-04-22 20:29:25 291

原创 HTML基础复习

WEB标准Web标准不是某一个标准,而是由W3C和其他标准化组织制定的一系列标准的集合。主要包括结构(Structure)、表现(Presentation)和行为(Behavior)三个方面。结构标准:结构用于对网页元素进行整理和分类。(HTML)表现标准:表现用于设置网页元素的版式、颜色、大小等外观样式。(CSS)行为标准:行为是指网页模型的定义及交互的编写。(JS)HT...

2019-02-26 21:04:04 653

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除