自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 手写Promise,实现then,finally, all, resolve,reject,allSettled功能

手写promise这次的博客就是这么干,赋值粘贴就能运行。使用守则和注意事项建议把代码复制到本地编辑器查看。创建一个html文档,在html文档里的script里面引入KPromise模块注意要把script的type=‘module’,并且需要在本地起服务打开,否则不能引入KPromise模块创建一个名为KPrimise.js的文件,把下面的js代码赋值粘贴。html文件<script type='module'>import KPromise from './KPro

2021-01-25 20:44:29 645 1

原创 axios原理及使用

一、什么是axios?axios是一个基于Promise的方法,并且前后端都可以使用。二、axios的内部原理1.有一个Axios方法,它有一个interceptors对象,这个对象有一个request对象和response对象,所以,我们外部可以调用axios.interceptors.request.use().2.interceptors对象里面的request对象和response对象,他们是一个用来管理拦截器的数组(handlers)。interceptors对象提供了一个use方法,当我

2020-11-27 14:29:50 9164 2

原创 prototype 和 __proto__的区别

prototype和__proto__都是 JavaScript 原型链机制的一部分,但它们的用途和用法是不同的。

2024-07-05 19:23:38 432

原创 CSS对行级元素的影响

常见的行级元素包括<span>、<a>(链接)、<em>(强调)、<strong>(加粗)、<img>(图片,但默认是行级块元素)、<del>(删除线)等。行级元素的margin(外边距)和padding(内边距)属性在垂直方向上(上下)通常无效,但在水平方向上(左右)可以生效。设置行级元素的width和height属性通常无效,除非该元素被转换为行级块元素(inline-block)或块级元素。垂直方向的margin和padding不会影响行级元素的高度,但可能会影响到元素之间的间距或元素的定位。

2024-07-03 15:36:41 305

原创 CSS中几种常用的清除浮动的方法

在CSS中,浮动元素(使用float属性的元素)会脱离正常的文档流,这有时会导致父元素无法正确包裹其浮动子元素,从而产生布局问题。为了解决这个问题,我们需要清除浮动。

2024-06-18 21:08:08 270

原创 CSS选择器

CSS选择器是用于在HTML文档中定位并应用样式的强大工具。

2024-06-18 19:09:35 384

原创 css伪类和伪元素选择器

伪类选择器在CSS中用于选择元素的特定状态或位置。

2024-06-18 18:47:15 327

原创 如何日期增加月数

前序最近在做一个会员续费月数的项目,没有找到数据库操作api,那咱只能自己写了。。。开整在看MDN文档的时候,意外瞧见了setMonth 这个api,它能让我们任意修改时间戳的月份,并且大于12,它就自动年份增加,这。。。不是巧了嘛~很开心,那就发个微博吧~// 第二个参数,可以从指定时间戳开始增加月份,默认从今天开始const addMonth = (months, timeStamp = Date.now()) => { // 用lodash库来判断一下是不是日期更好。

2022-02-12 10:54:09 970

原创 commitizen + husky规范

husky + commitizen 规范git commit提交安装husky官网 https://typicode.github.io/husky/#/?id=yarn-2npm install husky --save-dev # 安装npx husky install npm set-script prepare "husky install"创建钩子pre-commit 勾子npx husky add .husky/pre-commit "npm test"

2021-06-25 12:30:29 388

原创 vue实现图片上传功能

一、vue的核心插件vuexvuex用于集中存储管理应用的所有组件的状态(state),在一个项目的开发过程中,如果一些值或者方法被多个组件频繁的使用,就把这些值或者方法定义在vuex中,便于组件的调用。vue-router这是一个Vue的官方路由器,让构建单页面应用变得十分简单。二、服务器代理配置当向服务器发送请求的时候,可以对请求进行处理后再发送,可以在vue.config.js中进行配置module.exports = { devServer: { pro

2020-11-27 14:28:59 4028

vue组件间的数据使用

一、父子组件通信props/$emitApp.vue<template> <div id="app"> <Bar></Bar> </div></template>import Bar from './template/Bar'Bar.vue<template> <Foo title='Foo to Bar' @getMessage='handleMessage'>&lt

2020-11-25 16:19:31 168

原创 chrome拓展程序devtool

chrome拓展程序devtool步骤git clone https://github.com/vuejs/vue-devtools用gitbash clone该项目cd vue-devtoolsnpm i安装依赖包npm run build解压包找到vue-devtools > shells > chrome打开Chrome浏览器 > 选择更多工具 > 扩展程序 > 打开开发者模式把第5步找到的chrome文件拖入到扩展程序界面启动项目文件,找到Vue

2020-11-25 14:44:51 185

原创 git基本操作

git基本操作一、创建项目1.创建项目文件夹2.创建git仓库3.添加文件到仓库二、检查状态三、更改文件四、暂存更改五、提交六、git日志七、设置别名八、获取旧版本九、给版本打标签十、撤销更改十一、从分支移除提交十二、删除标签十三、修正提交十四、移动文件十五、创建分支十六、切换分支十七、查看所有分支十八、合并分支十九、解决冲突二十、克隆远程仓库二十一、查看克隆仓库信息二十二、远程分支二十三、获取远程仓库的更改二十四、添加跟踪的分支一、创建项目使用git init 初始化当前git仓库1.创建项目文件夹

2020-11-22 19:50:56 436

原创 vue学习

一、全局注册和局部注册<div id='app'></div><script> const Bar = { template: ` <h1>im 局部 bar</h1> ` } Vue.component('Foo', { components: { Bar }, template: ` <h1>im Foo <Bar></Bar> </h1&g

2020-11-17 21:35:55 143

原创 前后端交互-ajax控制上传文件

前后端交互-ajax利用ajax来解决验证用户名问题针对ajax的详细解释onreadystatechange利用FormData来实现文件上传示例利用ajax来解决验证用户名问题ajax是: Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML)ajax的基本使用;新建XMLHttpRequest对象;let xhr = new XMLHttpRequest();配置请求参数xhr.open("get","/

2020-10-30 09:52:02 385

原创 nodejs设置静态文件

目录app.jsconst Koa = require('koa')const fs = require('fs')const Router = require('@koa/router')// 调用静态文件需要用到的工具const staticCache = require('koa-static-cache')const app = new Koa()const router = new Router()let content = ''app.use( staticCache('.

2020-10-26 16:12:17 967

原创 安装MySQL

链接: MySQL下载地址.打开安装包点击 我的电脑, 右键菜单,选择管理找到MySQL80,右键,根据需求选择停止服务还是启动服务

2020-10-26 13:37:27 86

原创 模板引擎

模板引擎一、模板引擎是什么?二、pug模板引擎1. 安装插件2. 注释3. 转意4. 定义变量5. 使用变量6. 循环判断- 方法一:each in- 方法二: for- 方法三: case when7. 混入- 混入模块及使用-混入类函数及使用8. include三、nunjucks模板引擎1. 下载插件2. 注释3. 判断语句4. 循环语句5. 过滤器6. 宏标签7. import 文件里的macro部分8. include 引入其它文件9. extends 继承模板一、模板引擎是什么?模板引擎是

2020-10-23 19:47:42 275

原创 nodejs笔记

一、nodejs创建服务器index.js文件// require是node内置的方法const http = require('http')const server = http.createServer((req, res) => { res.write('hello world111222') res.end()})// 设置端口号server.listen(3000) 终端⇒ node index.js打开localhost:3000即可访问或者下载nodemon可

2020-10-22 21:06:20 324

原创 编辑器运行nodemon报错:系统上禁止运行脚本解决方案

HBuilderX运行nodemon报错:系统上禁止运行脚本解决方案如下报错:1. 管理员权限打开HBuilderX2. get-ExecutionPolicy3. set-ExecutionPolicy RemoteSigned4. get-ExecutionPolicy这一步可省略,仅用于查看是否配置成功5.成功啦!!...

2020-10-22 19:32:47 690

原创 环境变量配置

环境变量配置有的时候下载了应用,但是终端提示找不到该命令,这个时候就需要配置环境变量。示例:下载了node.js,但是终端不能使用node命令找到电脑点击它的属性找到高级系统设置找到环境变量找到Path ⇒ 编辑新建,添加你下载node.js的文件的地址即可...

2020-10-21 11:26:15 87

原创 如何把项目上传至github

如何把项目上传至github一、提交项目其它指令二、生成密钥并设置密钥远程仓库地址不匹配解决方案一、提交项目打开git-bash,cd到当前项目文件‘git add . ’ ⇒ 把所有项目添加到暂存区'git commit ‘ ⇒提交到仓库 i ⇒ 写入提交描述 ⇒ esc : wq退出,冒号不要忘记其它指令git status ⇒ 查看git状态git log ⇒ 查看摘要git checkout ⇒ 撤销工作区内容git reset ⇒ 撤销暂存区域git rm ⇒

2020-10-21 10:52:39 111

原创 js贪吃蛇

想起不来之前在哪里看到过这个贪吃蛇代码,这里做一下笔记。<!DOCTYPE HTML><html lang=''en'> <head> <meta charset='utf-8'> <title>document</title> <style> *{ margin: 0; padding: 0; } canvas{ background-color: black;

2020-10-18 23:46:33 94

原创 js异步操作大集合

1、为什么会有异步呢?在javascript里,同步操作遇到加载量大时就会阻塞,这时候的用户体验并不好,如果采用异步操作,就不会阻塞。而且有的时候,我们想要某一个进程在几秒后再执行,而JavaScript的工作机制是同步的,这个时候就需要用到异步操作。一般来说,加载需要时间的就需要用到异步操作。2、处理异步操作的几种方法回调(回调地狱)自定义事件promiseasync以及await以上几种方法中,虽然promise和async以及await比较常用到,但是上面两种还是需要做一下笔记,我认

2020-10-15 20:54:39 558 1

原创 画矢量图上传iconfont并使用

一、photoshop画矢量图1.获取目标图形↑2.分析该图形为一个圆并截掉一部分3.先画一个圆,选择椭圆工具,

2020-10-12 15:40:00 594

原创 js自定义组件

// 自定义组件// 1.继承html组件class myImg extends HTMLImageElement{ constructor() { super() setTimeout(() => { this.src = "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2534506313,1688529724&fm=26&gp=0.jpg" },1000) }}custom

2020-10-11 00:12:44 1030

原创 元素标签在父级元素里垂直居中方法

<div> <span>dsfjklwpdsfjklwpdsfjklwpdsfjklwpdsfjklwpdsfjklwpdsfjklwpdsfjklwpdsfjklwpdsfjklwpdsfjklwpdsfjklwpdsfjklwp</span></div>div{ width: 300px; height: 500px; border: 1px solid black; font-size: 0px; }div span{ backg

2020-10-07 23:41:57 473

原创 正则表达式

一、正则表达式创建// 1.字面量创建,//里面的默认是字符串,不能传入变量let str = '123adfj3425dda23'//let reg = /\d+/g//let arr = str.match(reg)//console.log(arr) // 123,3425, 23// 2.用构造函数创建正则,\需要用\来转义,并且里面可以传入变量//let reg2 = new RegExp('\\d+', 'g')let a = '123'let reg2 = new RegEx

2020-10-03 00:16:53 118

原创 面向对象-原型,实例,构造函数

面向对象的编程思想一、面向过程: 注重解决问题的步骤,分析问题需要的每一步,实现函数一次调用二、面向对象: 是一种程序设计思想。将数据和处理数据的程序封装到对象中。三、面向对象特性: 抽象、继承、封装、多态优点: 提高代码的复用性及可维护性。...

2020-10-01 22:45:26 112

原创 面向对象ES6-封装类

1、ES6直接获取类的静态属性和修改静态属性的值class Person{ static num = 10; constructor(){ this.myname = 'joy'; }}Person.staticNum = 20;console.log(Person.num) // 202、静态属性来统计类的实例化次数,防止污染全局class Person{ static num = 0; constructor(myname){ this.myname = myname;

2020-09-29 13:22:47 482

原创 从GitHub导入文件到gittee仓库

从GitHub导入文件到gittee仓库有的时候用git下载文件会比较慢,听老师讲使用码云gitee,亲试真的快很多,所以把使用的流程记录一下。1、找到gitee官网,注册账号2、在git终端 ssh-keygen -t rsa -C ‘xxx@xxx.com’按照提示回车之后生成ssh key,找到~/.ssh/id_rsa.pub文件内容里,全选复制3、在设置里找到SSH公钥,标题自定义,把复制内容粘贴到公钥框内4、添加后在终端ssh -T git@gitee.com提示没有建立用户

2020-09-23 14:02:21 1025

原创 scoped slot

scoped slot关于scoped slot自学关于scoped slot自学看了官方的例子,总是会报错firstName is undefined,原来不能在父级里面定义user,而是在子级里面定义user。例子如下:<current-user> <template v-slot:default='slotProps'>//这里的slotProps可以用你自己...

2019-11-07 20:22:20 1029

原创 disabling attribute inheritance

关于disabling attribute inheritance学习分享欢迎来到我的博客前序disabling attribute inheritance的官方例子解析欢迎来到我的博客你好!我叫Joy,很高兴您来到这里,这是我第一个博客的第一篇内容,以后将会更多。我学习js再到vue,都是自学的过程,在这个过程中我经常会遇到各种问题,我猜想你们也在经历这些,希望您能在这里有所收获。如果发现问...

2019-10-19 20:27:30 154

空空如也

空空如也

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

TA关注的人

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