09 2022 档案
摘要:Promise: Promise是ES6的新技术,用于处理异步编程。(旧方案使用回调函数) 从语法上来说,Promise是构造函数。从功能上来说,promise对象用来封装一个异步操作,且可以获取其成功和失败的结果值。 Promise的优点: 1.指定回调函数更加灵活 旧版方法需要在启动异步任务前指
阅读全文
摘要:Session 认证的局限性: Session 认证机制需要配合 Cookie 才能实现。由于 Cookie 默认不支持跨域访问,所以,当涉及到前端跨域请求后端接口的时候,需要做很多额外的配置,才能实现跨域 Session 认证。 当前端请求后端接口不存在跨域问题的时候,推荐使用 Session 身
阅读全文
摘要:mysql操作数据库 如果sql语句有多个占位符?,则query语句参数必须为数组形式传入为每一个占位符指定值,如果只有一个则可以省略数组符。 查询语句:使用select查询,得到的结果res是数组形式。 db.query('select * from seven', (err, res) => {
阅读全文
摘要:Express中间件的注意事项: ① 在路由之前注册中间件 ② 客户端发送的请求可以调用多个中间件进行处理 ③ 执行完中间件的业务代码,一定要调用next函数 ④ 调用完next函数后,避免再继续编写代码。 ⑤ 连续调用多个中间件,req和res对象是共享的。 中间件的分类: 1. 应用级别的中间件
阅读全文
摘要:package.json属性:name为npm包名,version为包版本,main为文件入口,description为包介绍,keywords为搜索关键词,license为开源许可协议(一般为ISC) 发布包:cd到包的根目录下,利用npm publish命令上传 删除包:运行npm unpubl
阅读全文
摘要:创建web服务器: ① 导入http模块:require导入 ② 创建web服务器实例:调用http.createServer()方法 ③ 为服务器绑定request事件:使用on方法绑定 ④ 启动服务器:.listen方法,参数为端口号和回调函数。 const http = require('ht
阅读全文
摘要:Node.js:基于Chrome V8引擎的 Javascript运行环境 浏览器中js的运行环境:前端运行环境 Nodejs中js的运行环境:后端运行环境(无法调用DOM和BOM等浏览器内置API) 在Node.js环境下运行JS代码:使用终端输入 node js文件路径 require方法:re
阅读全文
摘要:通信:三要素:主体、内容、方式 通信协议:指通信双方必须遵守的规则和约定。 HTTP(HyperText Transfer Protocol):超文本传输协议。规定了客户端与服务器之间进行网页内容传输时遵守的传输格式。 网页内容称为超文本,故网页内容的传输协议就称为超文本传输协议即HTTP协议。 H
阅读全文
摘要:$(() => { const getUrl = 'http://www.liulongbin.top:3006/api/getbooks'; const postUrl = 'http://www.liulongbin.top:3006/api/addbook'; // 传统方式GET $('#b
阅读全文
摘要:XMLHttpRequest:用于请求服务器上的资源。 使用XMLHttpRequest发起get请求: ① 创建xhr对象 ② 调用xhr.open函数:请求类型和请求地址 ③ 调用xhr.send函数 ④ 监听xhr.onreadystatechange事件 // 创建xhr对象 let xhr
阅读全文
摘要:正则表达式: 正则用小括号包围内容可以将内容提取出来! replace可以多次进行替换,把{{}}中的数据替换出来,就是模板引擎的思想! 使用replace和正则循环替换对象中的值就是模板引擎的实现核心。 自定义模板引擎: <!-- 需要渲染的结构 --> <script type="text/ht
阅读全文
摘要:form表单:由表单标签、表单域、表单按钮组成 form表单属性: ① action:规定提交表单的地址。是后端提供的url值,若未指定url值则默认为当前页面的url值。 ② target:规定在何处打开url:_blank在新窗口打开,_self在相同框架打开。 ③ method:规定以何种方式
阅读全文
摘要:URL由三部分组成: ① 客户端和服务器之间的通信协议 ② 存有该资源的服务器名称 ③ 资源在服务器上具体的存放位置。 客户端与服务器之间通信:请求-处理-响应 网页获取服务器数据:利用XMLHttpRequest对象进行请求处理! 通过xhr(简称)请求服务器上的数据资源。 资源的请求方式:get
阅读全文
摘要:jQuery效果: ① 显示:show() ② 隐藏:hide() ③ 切换:toggle() ④ 上拉滑动:slideDown() ⑤ 下拉滑动:slideUp() ⑥ 切换滑动:slideToggle() 事件切换:hover([over,]out) 如果括号内函数只有一个则鼠标移入和鼠标移出都
阅读全文
摘要:直接复制对象会导致新旧对象指向同一地址,修改会同时发生。 深浅拷贝:只针对引用类型! 浅拷贝:拷贝的是地址,仅对简单数据类型有用。 1.拷贝对象:如果是简单数据类型则拷贝的是值,引用数据类型则拷贝的是对象! 常见方法: ① Object.assign(对象名) ② {...对象名} 对于简单数据类型
阅读全文
摘要:作用域:规定了变量能够被访问的范围。 1.局部作用域: ① 函数作用域:在函数内部声明的变量只能在函数内部被访问,外部无法直接访问。 注意:Ⅰ函数的参数也是函数内部的局部变量。Ⅱ函数执行完毕,函数内部变量被清空(垃圾回收机制)。 ② 块作用域:只要是被{}包裹的代码称为代码块,外部可能无法访问。只有
阅读全文
摘要:forEach和some的区别:forEach用于遍历数组每一项,遇到return不会终止迭代。some遇到return true会终止迭代,效率更高,一般用于查询数组的唯一项。 map方法:参数和功能与forEach类似,不同点在于map会返回一个新数组且map执行速度更快! trim方法:去除字
阅读全文
摘要:面向对象的方式创建导航栏 实现效果: 1.点击可以切换 2.点击关闭按钮可以删除标签页 3.双击内容和标签名可以进行修改 4.点击加号可以新增标签页 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta htt
阅读全文
摘要:JS高级: 面向过程编程POP:分析解决问题的步骤,按照步骤解决问题。 面向对象编程POP:将事务分解为一个个对象,按照对象的功能来解决问题。 面向对象编程具有灵活、易于维护和开发、代码可复用的特点。 面向对象的三大特性:封装性、继承性、多态性 构造函数体现了面向对象的封装特性。 面向对象比面向过程
阅读全文
摘要:fastclick插件的使用:解决移动端触摸300ms延时问题 使用操作: if('addEventListener' in document) { document.addEventListener('DOMContentLoaded', function() { FastClick.attach
阅读全文
摘要:箭头函数不创建this对象! 图片无缝衔接:保证轮播图到最后直接跳转到第一位。 进行轮播图自动播放的时候,可以采取手动调用点击事件的方式操作。 window.addEventListener('load', () => { let lefts = document.querySelector('.a
阅读全文
摘要:闭包经典题: 1. 执行结果:5 5 6 7 8 9 JS单线程执行机制问题:先执行执行栈中的同步任务,遇到异步函数就放入消息队列中等待,同步任务执行完毕,再按顺序将异步任务放入执行栈中继续进行。 执行栈内为同步任务即for循环的i++和log函数,将for循环内部的异步任务setTimeout放入
阅读全文
摘要:client系列:获得可视区域的相关信息 clientWidth和offsetWidth区别:clientWidth只包含内容和padding,offsetWidth包含内容和内外边框。 立即执行函数:无需调用,直接执行。且独立创建了一个作用域。 (function() {})(); (functi
阅读全文
摘要:BOM:浏览器对象模型,核心对象为Window 通过var声明的所有全局变量和函数都会变成window对象的属性和方法,let或const则不行。 窗口加载事件:addEventListener('load' fuction(){}) DOMContentLoaded事件,仅当DOM加载完成才运行j
阅读全文
摘要:动态创建元素: document.write:直接写入页面流,在页面完全加载后使用会导致页面重绘。 innerHTML和createElement相似,但执行效率不同。创建内容时若采取数组形式,innerHTML耗时优于createElement。 Element类型: nodeType为1,nod
阅读全文
摘要:排他思想:先排除其他元素样式,再设置自身样式。 获取、设置自定义属性值: H5自定义属性: getAttribute方法兼容性更好 节点操作: 节点至少有nodeType(节点类型)、nodeName(节点名)、nodeValue(节点值)三个基本属性。 元素节点nodeType为1 属性节点nod
阅读全文
摘要:一、绝对定位盒子的居中 通常对于盒子进行水平居中,在默认标准流或者相对定位情况下,采取margin:auto。进行定位。 在设置绝对定位后这样情况会失效,需要采取新的方法去设置: 第一种:利用自身宽度进行居中,即margin值和定位进行计算。利用left或right移动父级的50%,再利用margi
阅读全文
摘要:JS Web API DOM:文档对象模型 DOM树: DOM对象: 获取元素的方法: ① 根据ID:getElementById( )方法. ② 根据标签名:getElementByTagName( )方法. 返回元素对象的集合,以伪数组方式存储 ③ 通过H5新增方法获取:getElementBy
阅读全文
摘要:数组去重例子: function unique(array) { const res = []; for (const iterator of array) { if(res.indexOf(iterator) -1) { res.push(iterator); } } return res; }
阅读全文
摘要:算术运算符: 一元操作符:+和-:如果应用到非数值元素则会像Number方法类似转化其为数值。 ES7新增指数操作符:** 和 pow性质相同 console.log(2 ** 3); console.log(Math.pow(2, 3)); JS中判断使用'=='时可能会引发数据类型转换! 实参、
阅读全文