自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 20201114记录

简介时间 2020111422/30cookie的有效时间默认为-1,如果不进行设置的话,就会默认在浏览器会话关闭时结束。可以通过setMaxAge()方法设置cookie的生命期。当setMaxAge(0)表示立刻删除该浏览器上指定的cookieJavaScript实现继承共6种方式:原型链继承、借用构造函数继承、组合继承、原型式继承、寄生式继承、寄生组合式继承。构造函数继承是每次继承都会把父类的所有属性方法全部拷贝一份,而对于公用的方法重复拷贝会浪费内存原型链继承所有对象都公用一

2020-11-14 10:36:38 124

原创 vuerouter

vue-router是什么这里的路由并不是指我们平时所说的硬件路由器,这里的路由就是SPA(单页应用)的路径管理器。再通俗的说,vue-router就是WebApp的链接路径管理系统。vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用。vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统的页面应用,是用一些超链接来实现页面切换和跳转的。在vue-router单页面应用中,则是路径之间的切换,也就是组件的切换。路由模块

2020-09-27 14:10:25 325

原创 vue文档总结

MVVM模式M:model 模型 包括数据和一些基本操作V:view 视图,页面渲染结果VM:view model 把视图与数据联系到一起 模型与视图的双向操作(无需开发人员干涉) 将DOM操作完全封装数据与视图互相独立只要Model发生改变,View上自然会表现出来当用户修改了View,Model也会跟着改变 视图与数据模型的双向绑定通过视图与模型的双向绑定,简化前端操作vue中不涉及到视图与数据的绑定 例如jquery中视图与数据进行绑定$('#app').c

2020-09-27 14:10:01 1210

原创 axios学习笔记

promise对象主要解决异步深层嵌套的问题promise 提供了简洁的API 使得异步操作更加容易 <script type="text/javascript"> /* 1. Promise基本使用 我们使用new来构建一个Promise Promise的构造函数接收一个参数,是函数,并且传入两个参数: resolve,reject, 分别表示异步操作执行成功后的回调函数和异步操作执行失败后的回调函数 */

2020-09-27 14:09:08 253

原创 20200806 学习笔记

2020/08/06 学习笔记什么时候使用cookie和session在前端与服务器端不存在跨域的问题时可以使用cookie和session来记录登陆状态什么时候使用token当前端与服务器端存在跨域的问题时token原理分析登陆界面输入用户名和密码进行登陆,服务器验证通过后生成该用户的token并返回(不同用户的token值不一样),客户端存储该token值,客户端后续所有请求都携带该token,服务器根据该Token来判断属于哪个用户,服务器验证该token是否存在来判断用户是否登陆过。[

2020-08-06 21:51:11 82

原创 RESTful 和 XML

RESTful 风格的 API传统的请求地址写法容易五花八门 没有一个特定的标准RESTful API 概述服务器端对应写法// 修改某一个用户的信息app.put('/users/:id', (req, res) => { // 获取客户端传递过来的用户id const id = req.params.id; res.send(`当前我们是在修改id为${id}用户信息`);});XML 基础XML 的全称是 extensible markup lan

2020-06-15 13:06:43 691

原创 jquery中使用ajax

更多具体的可以参考jquery文档$.ajax()方法概述作用:发送Ajax请求。其中data可以使用对象格式(会默认转化为字符串) 自动转换name=zhangsan&age=100可以使用字符串格式如果参数类型是jsoncontentType: 'application/json',data需要 data: JSON.stringify(params),beforeSend 在请求发送之前调用 也可以在函数外单独写成ajaxSuccess(callback)success

2020-06-15 13:01:57 124

原创 同源限制

什么是同源如果两个页面拥有相同的协议、域名和端口,那么这两个页面就属于同一个源,其中只要有一个不相同,就是不同源。http://www.example.com/dir/page.htmlhttp://www.example.com/dir2/other.html:同源http://example.com/dir/other.html:不同源(域名不同)http://v2.www.example.com/dir/other.html:不同源(域名不同)http://www.example.com:

2020-06-15 12:44:51 1056

原创 FormData

FormData 对象的作用模拟HTML表单,相当于将HTML表单映射成表单对象,自动将表单对象中的数据拼接成请求参数的格式。异步上传二进制文件FormData 对象的使用注意:Formdata 对象不能用于 get 请求,因为对象需要被传递到 send 方法中,而 get 请求方式的请求参数只能放在请求地址的后面。服务器端 bodyParser 模块不能解析 formData 对象表单数据,我们需要使用 formidable 模块进行解析。formidable 模块使用方法见前面博客示

2020-06-11 12:42:57 1129 1

原创 ajax与模板引擎

示例代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <!-- 1. 将模板引擎的库文件引入到当前页面 --> <script src="/js/template-web.js"></script></head><..

2020-06-11 12:35:13 301

原创 Ajax编程基础

传统网站中存在的问题网速慢的情况下,页面加载时间长,用户只能等待表单提交后,如果一项内容不合格,需要重新填写所有表单内容页面跳转,重新加载页面,造成资源浪费,增加用户等待时间Ajax 概述它是浏览器提供的一套方法,可以实现页面无刷新更新数据,提高用户浏览网站应用的体验。Ajax 的应用场景页面上拉加载更多数据列表数据无刷新分页表单项离开焦点数据验证搜索框提示文字下拉列表Ajax 运行原理Ajax 相当于浏览器发送请求与接收响应的代理人,以实现在不影响用户浏览页面的情况下,局部更新页面

2020-06-11 12:32:08 180

原创 给mongodb数据库增加管理员账号方法

以系统管理员的方式运行powershell连接数据库 mongo查看数据库 show dbs切换到默认的admin数据库 use admin创建超级管理员账户 db.createUser({user:’’,pwd:’’,roles:[‘root’]}) mongoDB必须先创建超级管理员账号才能创建普通账号切换到blog数据 use blog 普通账号针对某一个具体的数据库创建普通账号 db.createUser({user:’’,pwd:’’,roles:[‘readWrite’]}) .

2020-06-11 11:03:41 532

原创 数据分页 mongoose-sex-page

const page = req.query.page; // page 指定当前页 // suze 指定每页显示的数据条数 // display 指定客户端要显示的页码数量 // exec 向数据库中发送查询请求 // 查询所有文章数据 let articles = await pagination(Article).page(page).size(2).display(3).populate('author').exec();...

2020-06-11 11:01:41 1663 5

原创 node第三方模块config

作用:允许开发人员将不同运行环境下的应用配置信息抽离到单独的文件中,模块内部自动判断当前应用的运行环境,并读取对应的配置信息,极大提供应用配置信息的维护成本,避免了当运行环境重复的多次切换时,手动到项目代码中修改配置信息使用步骤使用npm install config命令下载模块在项目的根目录下新建config文件夹在config文件夹下面新建default.json、development.json、production.json文件在项目中通过require方法,将模块进行导入使用模块内

2020-06-11 10:58:37 803

原创 node中cookie与session

cookie:浏览器在电脑硬盘中开辟的一块空间,主要供服务器端存储数据。cookie中的数据是以域名的形式进行区分的。cookie中的数据是有过期时间的,超过时间数据会被浏览器自动删除。 如果不设置过期时间则在浏览器关闭的时候删除cookie中的数据会随着请求被自动发送到服务器端。session:实际上就是一个对象,存储在服务器端的内存中,在session对象中也可以存储多条数据,每一条数据都有一个sessionid做为唯一标识。二者都是用来存储数据 cookie在客户端 session在服

2020-06-07 15:59:28 188

原创 node模块之joi

用途:JavaScript对象的规则描述语言和验证器//引入Joi模块const Joi = require('joi');//验证用户信息const validateUser = function(user) { //定义对象的验证规则 const schema = { username: Joi.string().min(2).max(12).required().error(new Error('用户名不符合验证规则')), email: Joi

2020-06-07 15:50:00 1332

原创 node模块之formidable

作用:解析表单,支持get请求参数,post请求参数、文件上传原本使用的body-parser模块无法对包含文件的二进制上传表单加以处理 所以需要使用该模块模块使用示例具体实例const path = require('path');//因为文章表单里面包含上传的文件 (文章封面)//req.body无法获取包含文件的二进制表单//所以要使用formidable模块//1.引入模块const formidable = require('formidable');module.expor

2020-06-07 15:48:06 1697

原创 密码加密模块 bcyrpt

.依赖的环境python2.7官网下载安装包进行安装,下载地址:添加链接描述默认安装就,安装完成后,还需要添加系统变量,就是将python2.7的安装位置添加到path系统变量中。node-gypnpm install -g node-gypwindows-build-toolsnpm install --global --production windows-build-tools基本使用密码比对时使用的是该密码加密时的随机字符串,所以只要用户密码正确就可以比对成功,否则比对失败。

2020-06-01 21:04:55 600

原创 express框架的初步使用

Express框架是什么Express是一个基于Node平台的web应用开发框架,它提供了一系列的强大特性,帮助你创建各种Web应用。Express框架特性提供了方便简洁的路由定义方式对获取HTTP请求参数进行了简化处理 也就是说不用对请求参数格式进行转化 不用添加date end 事件对模板引擎支持程度高,方便渲染动态HTML页面 容易和模板引擎进行协同工作提供了中间件机制有效控制HTTP请求 中间件:对请求的拦截拥有大量第三方中间件对功能进行扩展 基于插件可以实现各种功能

2020-05-28 09:41:42 281

原创 node 第三方路由模块与静态资源模块

第三方模块 router功能:实现路由使用步骤:获取路由对象调用路由对象提供的方法创建路由启用路由,使路由生效第三方模块 serve-static功能:实现静态资源访问服务步骤:引入serve-static模块获取创建静态资源服务功能的方法调用方法创建静态资源服务并指定静态资源服务目录启用静态资源服务功能...

2020-05-25 17:13:59 113

原创 模板引擎artTemplate简单语法

模板引擎模板引擎是第三方模块。让开发者以更加友好的方式拼接字符串,使项目代码更加清晰、更加易于维护。art-template模板引擎在命令行工具中使用 npm install art-template 命令进行下载使用const template = require(‘art-template’)引入模板引擎告诉模板引擎要拼接的数据和模板在哪 const html = template(‘模板路径’, 数据);使用模板语法告诉模板引擎,模板与数据应该如何进行拼接const template

2020-05-25 17:12:03 536

原创 nodejs实现MongoDB数据库的链接与增删改查

为什么要使用数据库动态网站中的数据都是存储在数据库中的数据库可以用来持久存储客户端通过表单收集的用户信息数据库软件本身可以对数据进行高效的管理数据库相关概念在一个数据库软件中可以包含多个数据仓库,在每个数据仓库中可以包含多个数据集合,每个数据集合中可以包含多条文档(具体的数据)。Mongoose第三方包使用Node.js操作MongoDB数据库需要依赖Node.js第三方包mongoose使用npm install mongoose命令下载启动MongoDB在命令行工具中运行net s

2020-05-25 16:42:39 653

原创 解决MongoDB安装时服务无法启动的问题

问题描述;安装时出现Service ‘MongoDB Server’ (MongDB) failed to start. Verify that you have.。。。。解决方法:1.在powershell里面输入 E:\MongoDB\bin\mongod.exe --config "E:\MongoDB\bin\mongod.cfg" --service2.提示Unrecognized option: mp3.打开bin 文件夹下找到 mongod.cfg 文件 删除最后一行的mp4.进入

2020-05-21 16:51:43 1347 1

原创 node异步编程

同步API, 异步API同步API:只有当前API执行完成后,才能继续执行下一个APIconsole.log('before'); console.log('after');异步API:当前API的执行不会阻塞后续代码的执行console.log('before');setTimeout( () => { console.log('last');}, 2000);console.log('after');同步API, 异步API的区别( 获取返回值 )同步API可以从返回

2020-05-20 16:19:57 97

原创 请求响应原理及Http协议 学习 (1)

URL的概念统一资源定位符,又叫URL(Uniform Resource Locator),是专为标识Internet网上资源位置而设的一种编址方式,我们平时所说的网页地址指的即是URL。URL的组成传输协议://服务器IP或域名:端口/资源所在位置标识例如:http://www.itcast.cn/news/20181018/09152238514.html没写端口的时候默认为80端口http:超文本传输协议,提供了一种发布和接收HTML页面的方法。本机域名与本地Ip本机域名:localh

2020-05-20 16:06:26 166

原创 node 入门

Node开发概述为什么要学习服务器端开发基础能够和后端程序员更加紧密的配合网站业务逻辑前置,学习前端技术需要后端技术支撑(Ajax)扩宽知识视野,能够站在更高的角度审视整个项目服务器端开发要做的事情实现业务逻辑对数据进行增删改查Node是什么Node是一个基于Chrome V8引擎的JavaScript代码运行环境浏览器(软件)能够运行JavaScript代码,浏览器就是JavaScript代码的运行环境Node(软件)能够运行JavaScript代码,Node就是JavaScript

2020-05-17 20:28:44 165

原创 node 第三方模块 gulp

基于node平台开发的前端构建工具将机械化操作编写成任务, 想要执行机械化操作时执行一个命令行命令任务就能自动执行了用机器代替手工,提高开发效率。Gulp能做什么项目上线,HTML、CSS、JS文件压缩合并语法转换(es6、less …)公共文件抽离修改文件浏览器自动刷新gulp使用方法使用npm install gulp下载gulp库文件在项目根目录下建立gulpfile.js文件重构项目的文件夹结构 src目录放置源代码文件 dist目录放置构建后文件在gulpfile.js文件

2020-05-17 16:10:19 87

原创 ES6 set数据结构

ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成 Set 数据结构const s = new Set();Set函数可以接受一个数组作为参数,用来初始化。const set = new Set([1, 2, 3, 4, 4]);//{1, 2, 3, 4}实例方法add(value):添加某个值,返回 Set 结构本身delete(value):删除某个值,返回一个布尔值,表示删除是否成功has(value):返

2020-05-15 14:55:13 87

原创 ES6 String 的扩展方法

模板字符串ES6新增的创建字符串的方式,使用反引号定义let name = `zhangsan`;模板字符串中可以解析变量let name = '张三'; let sayHello = `hello,my name is ${name}`; // hello, my name is zhangsan模板字符串中可以换行 let result = { name: 'zhangsan', age: 20, sex: '男' } let html = ` &

2020-05-15 14:53:21 144

原创 ES6 Array 的扩展方法

扩展运算符扩展运算符可以将数组或者对象转为用逗号分隔的参数序列let ary = [1, 2, 3]; ...ary // 1, 2, 3 console.log(...ary); // 1 2 3,相当于下面的代码 console.log(1,2,3);扩展运算符可以应用于合并数组// 方法一 let ary1 = [1, 2, 3]; let ary2 = [3, 4, 5]; let ary3 = [...ary1, ...ary2]; // 方法二 ary1.pu

2020-05-15 14:50:38 193

原创 ES6 箭头函数 剩余参数

() => {} //():代表是函数; =>:必须要的符号,指向哪一个代码块;{}:函数体const fn = () => {}//代表把一个函数赋值给fn如果函数体中只有一句代码,且代码的执行结果就是返回值,可以省略大括号 function sum(num1, num2) { return num1 + num2; } //es6写法 const sum = (num1, num2) => num1 + num2; 如果形参只有一个,可以省略小括号

2020-05-15 14:44:47 325

原创 ES6 解构赋值

ES6中允许从数组中提取值,按照对应位置,对变量赋值,对象也可以实现解构数组解构 let [a, b, c] = [1, 2, 3]; console.log(a)//1 console.log(b)//2 console.log(c)//3//如果解构不成功,变量的值为undefined对象解构 let person = { name: 'zhangsan', age: 20 }; let { name, age } = person; console.log(name); // '

2020-05-15 14:42:17 69

原创 ES6新增 let const

letlet声明的变量只在所处于的块级有效 if (true) { let a = 10; }console.log(a) // a is not defined使用let关键字声明的变量才具有块级作用域,块级作用域就是一堆{}的内部作用范围,使用var声明的变量不具备块级作用域特性。不存在变量提升console.log(a); // a is not defined let a = 20;暂时性死区利用let声明的变量会绑定在这个块级作用域,不会受外界的影响 var tm

2020-05-15 14:39:50 69

原创 npm更换国内下载源

以淘宝下载源为例输入命令npm config set registry https://registry.npm.taobao.org验证命令npm config get registry

2020-05-15 14:31:53 685

原创 nodemon : 无法加载文件 因为在此系统上禁止运行脚本 报错解决

报错内容:nodemon运行 提示错误:无法加载文件 C:\Users…\AppData\Roaming\npm\nodemon.ps1,因为在此系统上禁止运行脚本。解决内容:1.使用管理员身份打开powershell2.set-ExecutionPolicy RemoteSigned3.一路Y

2020-05-15 14:30:36 722

原创 js 正则表达式

正则表达式概述什么是正则表达式正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。正则表通常被用来检索、替换那些符合某个模式(规则)的文本,例如验证表单:用户名表单只能输入英文字母、数字或者下划线, 昵称输入框中可以输入中文(匹配)。此外,正则表达式还常用于过滤掉页面内容中的一些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等正则表达式的特点灵活性、逻辑性和功能性非常的强。可以迅速地用极简单的方式达到字

2020-05-12 19:05:45 90

原创 js函数 闭包 递归

函数的定义和调用函数的定义方式1 函数声明方式 function 关键字 (命名函数)function fn(){}方式2 函数表达式(匿名函数)var fn = function(){}方式3 new Function()var f = new Function('a', 'b', 'console.log(a + b)');f(1, 2);var fn = new Function('参数1','参数2'..., '函数体')//注意/*Function 里面参数都必须是字符串格式

2020-05-11 13:44:06 236

原创 构造函数 原型 es5中的继承 es5新增方法

构造函数和原型对象的三种创建方式1.字面量方式var obj = {};2.new 关键字var obj = new Object();3.构造函数function Person(name,age){ this.name = name; this.age = age;}var obj = new Person('zs',12);静态成员与实例成员实例成员就是构造函数内部通过this添加的成员实例成员只能通过实例化的对象来访问 function Star(uname, age

2020-05-10 10:29:50 271

原创 JavaScript高级第01天笔记

面向对象与面向过程面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了。面向对象是把事务分解成为一个个对象,然后由对象之间分工与合作。面向过程面向对象优点性能比面向对象高,适合跟硬件联系很紧密的东西,例如单片机就采用的面向过程编程。易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护缺点不易维护、不易复用、不易扩展性能比面向过程低对象与类对象对象是由属性和方法组成的:是

2020-05-09 09:02:18 65

原创 jQuery 3

jQuery 尺寸、位置操作jQuery 尺寸操作<body> <div></div> <script> $(function() { // 1. width() / height() 获取设置元素 width和height大小 console.log($("di...

2020-05-06 14:43:21 295

空空如也

空空如也

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

TA关注的人

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