JavaScript高级
面向过程面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现, 使用的时候再一个一个的依次调用就可以了。
面向对象面向对象是把事务分解成为一个个对象,然后由对象之间分工与合作。
1234567891011面向过程理解:亲力亲为优点:性能高缺点:不好维护面向对象理解:把一个个东西当做对象来使用(对象,往往都是被人封装好的代码)优点:好维护,复用,扩展缺点:性能稍低都是一种思维
类在 ES6 中新增加了类的概念,可以使用 class 关键字声明一个类,之后以这个类来实 例化对象。类抽象了对象的公共部分,它泛指某一大类(class)对象特指某一个, 通过类实例化一个具体的对象
创建类
1234567891011121314151617181920212223// 1. 创建类 class 创建一个 明星类class Star{ constructor(uname){ this.uname=uname; } // 不用function 不需要逗号分隔 sing(song){ console.log(this.un ...
用.http文件发请求的方法
声明一个常量用来放请求地址前缀123@baseurl = http://localhost:9090###post {{baseurl}}/api/login
GET发送 JSON 格式的数据12345678###GET http://localhost:9090/userContent-Type: application/json{ "name":"zs", "age":18}
GET发送 url-encoded 格式的数据12345###GET http://localhost:9090/userContent-Type: application/x-www-form-urlencodedname=zs
注意:urlencoded 是 URL编码(URL encoding),也称作百分号编码(Percent-encoding), 是特定上下文的统一资源定位符 (URL)的编码机制(之前以为是查询字符串)get发送带token的请求1234###g ...
HTML5和CSS3新增属性
Html5新特性语义标签123456789<header></header> 头部<nav></nav> 导航<article></article> 独立内容<section></section> 文档的节、区域<aside></aside> 侧边栏<detailes></detailes> 某个文档细节<summary></summary> 标签包含 details 元素的标题<dialog></dialog> 定义对话框<footer></footer> 底部
增强型表单新增类型12345678910111213color // 主要用于选取颜色data // 从一个日期选择器选择一个日期datetime // 选择一个日期(UTC 时间)datetime-loca // 选择一个日期和时间 (无时区)email // 包含 e-mail 地址的输入域month // ...
git
Git1234567891011作者:linus特点:基于服务器、客户端的运行模式1. 服务器保存文件的所有更新版本2. 客户端是服务器的完整备份,并不是只保留文件的最新版本优点:1. 联网运行,支持多人协作开发2. 客户端断网后支持离线本地提交版本更新3. 服务器故障或损坏后,可使用任何一个客户端的备份进行恢复历史书,时光机,复仇者联盟
什么是Git123Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。// 特点:项目越大越复杂,协同开发者越多,越能体现出 Git 的高性能和高可用性!
Git的特性123456789101112131415161. 直接记录快照,而非差异比较 快照 是文件系统的一个功能,相当于给文件拍了一个照片,我们可以基于文件快照恢复文件原来的状态。 快照的拍摄非常快,瞬间完成 我们可以基于文件快照,恢复到拍摄快照时的文件状态。2. 近乎所有操作都是本地执行 在 Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息 特性: 1. 断网后依旧可以 ...
fetch
fetch是一种HTTP数据请求的方式,是ajax的一种替代方案。fetch不是ajax的进一步封装,而是原生js。Fetch函数就是原生js,没有使用XMLHttpRequest对象。
Fetch会返回Promise
fetch(url, options).then()
fetch123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112fetch(url, options).then()/* Fetch API 基本用法 fetch(url).then() 第一个参数请求的路径 Fetch会返回Promise 所以我们可以使用then 拿到请求成功的结果*/fetch(' ...
Express 补充
补充:app.use121. 在进行路由判断的时候不限方法,什么请求方式都可以2. 请求路径中的第一部分只要与 /index 相等即可,并不要请求路径(pathame)完全匹配(例:/index/sdad/sad/das)
app.all121. 在进行路由判断的时候不限方法,什么请求方式都可以2. 请求路径的pathname必须完全匹配
正则表达式匹配路由12app.get(/^\/index(\/.+)*$/,(req,res)=>{})(例:/index/sdad/sad/das)
res.json()1// 向客户端响应json数据 res.send()也能
res.redirect()12res.redirect([status,]path)// status 状态码 重定向
res.sendFile()12res.sendFile(path [, options] [, fn])// 读取文件并返回
res.status()1234res.status(code) // 设置响应状态码 可链式编程res.status(403).end ...
Express
Express是基于Node.js平台,一个快速、开放、极简的Web开放框架Express的作用和Node.js内置的http模块类似,是专门用来创建Web服务器的。本质上就是一个npm上的第三方包,提供了快速创建Web服务器的便捷方法Express的中文官网:https://www.expressjs.com.cn/
安装1npm i express
创建基本的Web服务器123456789// 1. 导入 expressconst express = require('express');// 2. 创建 web 服务器const app = express();// 3. 调用app.listen(端口号,启动成功后的回调函数),启动服务器app.listen(8080,()=>{ console.log('服务启动成功 请访问:http://localhost:8080');})
监听GET和POST请求的方法12app.get('请求URL',function(req,res) ...
Express 中间件
Express 中间件所谓的中间件(Middleware ),特指业务流程的中间处理环节Express的中间件 本质上就是一个 function 处理函数next 函数是实现多个中间件连续调用的关键,它表示把流转关系转交给下一个中间件或路由区别 路由函数 和 中间件函数 就是看参数是否包含next局部生效的中间件1234app.post('/',(req,res,next)=>{ console.log('局部的中间件!'); next();}); // 只在请求路径为 / 时才生效的中间件
全局生效的中间件12345// 只要有请求到达服务器,必然会调用这个中间件app.use((req,res,next)=>{ console.log('全局可用的中间件!'); next();})
调用多个中间件1234567891011121314151617181920// 定义中间件函数 mv1 const mv1 = (req, res, next) => ...
ES6
let12341. 变量不能重复声明2. 块级作用域(只在代码块{}里有效) 3. 不存在变量提升4. 不影响作用域链
const1234561. 一定要赋初始值2. 一般常量使用大写(潜规则) // 并没有3. 不存在变量提升4. 常量的值不能修改5. 块级作用域(只在代码块{}里有效)6. 对于数组和对象内的元素修改,不算做对常量的修改,不会报错
let,const 声明的变量不会和window挂钩
globalThis可以拿到顶层对象
解构赋值12345678910111213141516// 按照一定模式从数组和对象中提取值,对变量进行赋值// 这被称为解构赋值1. 数组的结构const F4 = ['a','b','c','d'];let [e,f,g,h] = F4;2. 对象的结构const zhao = { name:'a', age:'b', xiaoping:function() ...
Electron-的基本使用
Electron官网地址
使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序
如果你可以建一个网站,你就可以建一个桌面应用程序。 Electron 是一个使用 JavaScript, HTML 和 CSS 等 Web 技术创建原生程序的框架,它负责比较难搞的部分,你只需把精力放在你的应用的核心上即可。
Electron 基于 Chromium 和 Node.js, 让你可以使用 HTML, CSS 和 JavaScript 构建应用。
Electron 是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目。
Electron 兼容 Mac、Windows 和 Linux,可以构建出三个平台的应用程序。
前提条件
12node -vnpm -v
初始化
12mkdir my-electron-app && cd my-electron-appnpm init
生成的package.json文件
12345678{ "name": "my-electron-app", &quo ...