- 博客(25)
- 收藏
- 关注
原创 预防XSS 正则表达式
var prevent= /^[^`~!#$%^&*+=\\|{};:"',/<>?]*$/;returnprevent.test(str);// 简单粗暴
2019-06-15 17:16:05
3376
原创 Promise实现ajax简单应用
Promise是异步编程的一种解决方案。 比传统的解决方案——————回调函数和事件,Promise更合理和更强大。在ES6规范中,Promise是提供的一个构造函数,可以new Promise()对象Promise对象代表一个异步操作,Promise有三种状态:pending(进行中)fulfilled(已成功)rejected(已失败)Promise构造函数接...
2018-09-22 16:06:31
1206
1
原创 Mongoose中的查找
使用Mongoose来查找文档很容易,有以下3种方法可供选择、find()findById()findOne()1.find() 第一个参数表示查询条件,第二个参数用于控制返回的字段,第三个参数用于配置查询参数,第四个参数是回调函数,回调函数的形式为function(err,docs){}Model.find(conditions, [projection...
2018-09-20 16:22:00
1980
原创 mongoose中的文档中的插入
文档新增文档新增有三种方法,一种是使用上面介绍过的文档的save()方法,另一种是使用模型model的create()方法,最后一种是模型model的insertMany()方法1.save() [注意]回调函数可以省略save([options], [options.safe], [options.validateBeforeSave], [fn]) 新建{age:10...
2018-09-20 16:13:15
2113
原创 mongoose中的Schema和Model
SchemaSchema主要用于定义MongoDB中集合Collection里文档document的结构,可以理解为mongoose对表结构的定义(不仅仅可以定义文档的结构和属性,还可以定义文档的实例方法、静态模型方法、复合索引等),每个schema会映射到mongodb中的一个collection,schema不具备操作数据库的能力 定义Schema非常简单,指定字段名和类型即可,支...
2018-09-20 16:10:31
6484
原创 Mongoose起步
Mongoose是在node.js环境下对mongodb进行便捷操作的对象模型工具mongoose安装 安装nodejs和mongodb之后 ,使用npm来安装mongoosenpm install mongoose --save安装成功后,就可以通过 require('mongoose') 来使用connectconnect 用于创建数据库连接mongoose...
2018-09-17 23:35:47
239
转载 JavaScript深拷贝实现
type函数首先我们要实现一个getType函数对元素进行类型判断,关于元素的类型判断,可以参考我另一篇博文 js中typeof和instanceof详解 ,这里用一个更简便的方法,直接调用Object.prototype.toString 方法。 function getType(obj){ //tostring会返回对应不同的标签的构造函数 var t...
2018-09-17 09:50:18
174
原创 React开发笔记(三)注册页面reducer配置
user.redux.js代码注意axios是异步的,要传回调函数dispatch动作import axios from 'axios';const REGISTER_SUCCESS = 'REGISTER_SUCCESS'; //actionTypeconst ERROR_MESSAGE = 'ERROR_MESSAGE'; //actionTypeconst initSt...
2018-09-17 00:14:55
281
原创 React开发笔记(二)转化路由组件
react-router-dom 为我们提供了很强大方便的路由模块。react-router-dom提供了BrowserRouter, Route, Link等api,我们可以通过dom的事件控制路由。例如点击一个按钮进行跳转,大多数情况下我们是这种情况,所以在开发过程中,我们更多是使用React-router-dom。安装很简单npm i react-router-dom --save,安装...
2018-09-15 23:51:09
671
原创 CVTE校招笔试
CVTE校招挺注重基础,并且很多ES6语法1.变量提升 2.考察call() apply bind() 和ES6双冒号绑定符:: fun::bun 相当于 bun.bind(fun) fun::bun() 相当于 bun.apply(fun);3树结构4栈结构,出入栈5.事件冒泡6.事件绑定7.异步setTimeout()...
2018-09-14 20:42:15
10032
原创 服务器端渲染和客户端渲染
什么是服务器端渲染和客户端渲染? 互联网早期,用户使用浏览器浏览的都是一些没有复杂逻辑的、简单的页面,这些页面都是在后端将html拼接好的然后将之返回给前端完整的html文件,浏览器拿到这个html文件之后就可以直接解析展示了,而这也就是所谓的服务器端渲染了。而随着前端页面的复杂性提高,前端就不仅仅是普通的页面展示了,而可能添加了更多功能性的组件,复杂性更大,另外,彼时ajax的兴起,使...
2018-09-14 08:25:06
403
1
转载 理解 JavaScript 的 async/await
随着 Node 7 的发布,越来越多的人开始研究据说是异步编程终级解决方案的 async/await。我第一次看到这组关键字并不是在 JavaScript 语言里,而是在 c# 5.0 的语法中。C# 的 async/await 需要在 .NET Framework 4.5 以上的版本中使用,因此我还很悲伤了一阵——为了要兼容 XP 系统,我们开发的软件不能使用高于 4.0 版本的 .NET Fr...
2018-09-13 16:22:40
113
原创 KOA中的async和await
async是‘异步’的简写,await 可以认为是 ‘ async wait ’的简写。 async可以用于声明一个function是异步的,而await用于等待一个异步方法执行完成简单理解: async 可以让方法变成异步。async function testAsync(){ return 'hello async';}const result...
2018-09-12 22:00:44
6185
原创 封装mongoDB的数据操作
原生MongoDB+express路由写起来代码会非常冗余。比如:登录验证的路由 会这么写app.post('/doLogin',function(req,res){ MongoClient.connect(DBurl,(err,db)=>{ if(err){ console.log(err); re...
2018-09-11 17:18:34
365
1
原创 ES6学习笔记—Set的用法
ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构。const s = new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));for (let i of s) { console.log(i);}// 2 3 5 4...
2018-09-10 23:03:34
148
1
原创 React开发笔记(一)
----------------------1.React 环境搭建npm install react-create-app -g //全局安装脚手架create-react-app filename // 创建项目并安装依赖ls 显示当前目录的结构README.md 看我文档(介绍)node_modules 安装的第三方依赖包package.json 表示项目依赖 s...
2018-09-05 23:58:40
179
原创 MongoDB建立索引与explain命令
一句话概括索引: 添加索引能加快查找速度。MongoDB的索引几乎与传统关系型数据库索引一模一样。(自我觉得建立起来非常简单)1.建立索引: db.user.ensureIndex( { "uname": 1 } ) 对 user 集合(collection)的 uname 列 建立索引。2.获取当前集合的所有索引 db.user.getIndexe...
2018-09-05 00:05:24
344
1
原创 ASCII 和 unicode 和UTF-8区别
之前对文件编码是一头雾水,还一直误以为UTF-8是中文编码,因为写网页时如果不采用utf-8编码的话,中文是乱码的。但是原因并不是如此。下面总计一下 ASCII 和 Unicode 和 UTF-8 三种编码格式区别。1.ASCII我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称...
2018-09-03 15:06:27
205
1
原创 express的cookie-parser和express-session中间件的使用
这里简单介绍一下cookie 和 session 的区别cookie 存在于客户端,session存在于服务器端cookie一般用来记录用户的登录信息,随请求一起发送到服务器端,cookie安全性相对于session较低些,cookie可以被截取和欺骗服务器。session是服务器记录用户状态信息的技术,当客户端首次请求服务器时,服务器会为该客户端创建一个唯一的对象,称之为sess...
2018-09-01 23:18:32
1348
2
原创 Node.JS能做什么?
作为一名JS的粉忠实粉丝,虽然JS并没有JAVA的生态圈这么大,但是JavaScript从客户端脚本程序跻身服务器端,这让我们要重视一下它,JavaScript它在慢慢崛起,我们要换一种眼光去学习它。 Node.js是什么?Node.js本质上是一个JavaScript的运行环境。基于Google的V8引擎,实际上,是从Chrome上抠下的V8引...
2018-08-31 10:43:50
18653
8
原创 多益网络校招前端面经
前几天刚经历多益前端提前批校招,本来觉得笔试应该凉了,但是最后居然过了笔试,顺利进入面试,下面讲讲我记得经过吧。笔试阶段: 笔试过去半个月了,零零星星记得 JS基础是要有的,字符串函数 split() 还有数组一些api , reverse() join('') 这些要熟悉 正则表达式!是必考,反正我做的校招笔试题都会有问到,不直接问都会应用到。多益问的是写出手...
2018-08-29 15:08:51
11201
2
原创 自己封装一个类express路由框架
今天用了Node封装一个简单的类似express框架的路由首先先看看 没封装 之前的server路由代码const http = require('http');const url = require('url');const ejs = require('ejs');var server = http.createServer((req,res)=>{ pat...
2018-08-28 20:31:36
8338
原创 用原生Node实现一个静态web服务器
之前一直用过Apache nginx等静态web服务器。但强大的node.js本身就能作为独立的web服务器,不依赖与Apache nginx下面我们看看怎么用Node去写一个静态服务器吧首先,先来看看我的项目结构吧 主要的服务器入口文件是 server.js (里面写 Node 服务器代码)其次,根目录还有一些测试用的 inde...
2018-08-27 14:42:58
7568
4
原创 总结一下面试常被问的HTTP协议
http和https的区别?https的具体实现原理是什么,是怎么实现安全传输的 HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。http是无状态的,端口为80; 为了保证这些隐私数据能加密传输,于是网景公司设计了SSL,协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。端口号443, 1客户...
2018-07-27 23:20:42
1189
2
原创 如何从基础上 优化网站
(1)域名解析 尽可能减少域名解析次数——减少跨站外部资源的引用(2)创建连接 努力减少连接创建次数——启用持久连接避免重复连接(连接要三次握手,断开要四次挥手)(3)发送请求 尽力减少请求次数——合理设置缓存、资源合并(精灵图(把图片合并),样式内嵌(不用请求CSS))(4)等待响应 提高服务器端运行速度——提高数据运算及查询速度(后端算法)(5)接收响应 尽可能减...
2018-07-12 10:14:53
162
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人