自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

good god~的博客

HTML lang属性

  • 博客(63)
  • 问答 (1)
  • 收藏
  • 关注

原创 git ssh Permission denied(每次连接成功后重新打开一个git bash,都是Permission denied)

git Permission denied

2022-08-17 10:59:12 466 1

原创 vue全局API

vue api

2022-08-12 10:15:28 491

原创 vue深入响应式原理

vue深入响应式原理

2022-08-10 10:46:59 223

原创 vue处理边界情况

vue处理边界情况

2022-08-08 15:48:22 523

原创 vue自定义组件上的v-model

vue v-model

2022-08-08 13:09:03 233

原创 vue的计算属性缓存vs方法

vue的学习

2022-08-05 09:37:11 293

原创 vscode 注释插件

vscode 注释插件

2022-06-15 10:37:47 7981

原创 VUE之自定义插件

index.js文件import promptBox from "./prompt-box.vue"// 定义插件对象const PromptBox = {};// vue的install方法,用于定义vue插件PromptBox.install = function(Vue,options) { //使用Vue构造器,创建一个'子类' const PromptBoxInstance = Vue.extend(promptBox); let currentPrompt; const in

2022-05-13 14:36:56 717

原创 JS函数防抖和节流篇

事件频繁出发可能造成的问题?一些浏览器时间window.onresize、window.mousemove等,触发的频率非常高,会造成界面卡顿如果向后台发送请求、频繁出发,对服务器造成不必要的压力如何限制事件处理函数频繁触发函数节流函数防抖函数节流1、理解:在函数需要频繁触发后,函数执行一次后,只有大于设定的执行周期才能被触发第二次适合多次事件按时间平均分配触发2、场景窗口调整(resize)页面滚动(scroll)DOM元素拖拽功能实现(mousemove)抢购疯

2021-04-29 17:59:29 177

转载 Node.js基础入门篇(三)

node- 包(package)- 将多个模块组合为一个完整的功能,就是一个包- 包结构bin- 二进制的可执行文件,一般都是一些工具包中才有lib- js文件doc- 文档test- 测试代码package.json- 包的描述文件 - package.json - 它是一个json格式的文件,在它里面保存了包各种相关的信息 name 包名 version 版本 dependencies 依赖 main 包的主要的文件 bin 可执行文件

2021-04-29 17:58:53 173

转载 Node.js基础入门篇(二)

node.js- node是一款对ES标准实现的JS引擎- 通过node可以使js在服务器中运行- node就是一款使用js编写的web服务器- node底层是使用c++的编写的- node的中js引擎使用的chrome的v8引擎- node的特点:1.非阻塞、异步的I/O2.事件和回调函数3.单线程(主线程单线程,后台I/O线程池)4.跨平台- 模块化 - ES5中没有原生支持模块化,我们只能通过script标签引入js文件来实现模块化 - 在node中为了对模块管理,引入了Co

2021-04-27 15:14:08 156

转载 Node.js基础入门篇(一)

1.命令行窗口(小黑屏)、CMD窗口、终端、shell- 开始菜单 --> 运行 --> CMD --> 回车- 常用的指令:dir 列出当前目录下的所有文件cd 目录名 进入到指定的目录md 目录名 创建一个文件夹rd 目录名 删除一个文件夹- 目录 . 表示当前目录 .. 表示上一级目录 - 环境变量(windows系统中变量) path C:\work\jdk\jdk1.7.0_75/bin; %CATALINA_HOME%/bin; C:\wo

2021-04-27 15:11:49 172

转载 Mongoose入门篇

一、入门 1.下载安装Mongoose npm i mongoose --save 2.在项目中引入mongoose var mongoose = require("mongoose"); 3.连接MongoDB数据库 mongoose.connect('mongodb://数据库的ip地址:端口号/数据库名', { useMongoClient: true}); - 如果端口号是默认端口号(27017) 则可以省略不写 4.断开数据库连接(一般不需要调用) - Mong

2021-04-27 15:02:25 854

转载 手写MVVM篇(Vue简单版)

MVVM.js/*相关于Vue的构造函数 */function MVVM(options) { // 将选项对象保存到vm this.$options = options; // 将data对象保存到vm和datq变量中 var data = this._data = this.$options.data; //将vm保存在me变量中 var me = this; // 遍历data中所有属性 Object.keys(data).forEach(function (k

2021-04-27 14:42:40 217

转载 vue源码解析之数据代理、模板解析、数据绑定篇

1. 准备1.[].slice.call(lis): 将伪数组转换为真数组2.node.nodeType: 得到节点类型3.Object.defineProperty(obj, propertyName, {}): 给对象添加/修改属性(指定描述符) configurable: true/false 是否可以重新define enumerable: true/false 是否可以枚举(for..in / keys()) value: 指定初始值 writable: true/false va

2021-04-26 17:22:05 161

转载 安装MongoDB(入门篇)

SQL- 结构化查询语言- 关系数据库全都同SQL来操作1.安装MongoDB- 安装- 配置环境变量C:\Program Files\MongoDB\Server\3.2\bin- 在c盘根目录- 创建一个文件夹 data- 在data中创建一个文件夹db- 打开cmd命令行窗口 - 输入 mongod 启动mongodb服务器 - 32位注意: 启动服务器时,需要输入如下内容 mongod --storageEngine=mmapv1 mongod --d

2021-04-15 17:44:26 196

原创 手写Promise函数模块

一、构造函数原型对象写法/* 自定义Promise函数模块: IIFE*/(function (window) { const PENDING = 'pending' const RESOLVED = 'resolved' const REJECTED = 'rejected' /* Promise构造函数 excutor: 执行器函数(同步执行) */ function Promise(excutor) { // 将当前promise对象保存起来

2021-04-10 09:27:34 168

原创 自定义工具库函数

1. 工具函数库lodash理解1. 封装了各种类型数据简化操作的函数库 数组 对象 函数 字符串 类型判断 ...2. 特点: 模块化 函数式 / 声明式2. 自定义工具函数库: aUtils0. 整体说明1). 函数相关2). 数组相关3). 对象相关4). 字符串相关5). 事件总线6). 消息订阅与发布7). Promise8). ajax函数封装: axios9). 数据结构与排序算法1. 函数相关1). 函数对象的call() /

2021-04-09 18:12:36 431

原创 Promise从入门到手写

Promise深入 + 自定义Promise1. 准备1.1. 函数对象与实例对象1. 函数对象: 将函数作为对象使用时, 简称为函数对象2. 实例对象: new 函数产生的对象, 简称为对象1.2. 回调函数的分类1. 同步回调: 理解: 立即执行, 完全执行完了才结束, 不会放入回调队列中 例子: 数组遍历相关的回调函数 / Promise的excutor函数2. 异步回调: 理解: 不会立即执行, 会放入回调队列中将来执行 例子: 定时器回调 / a

2021-04-09 17:37:03 404

原创 Git学习笔记

SVN冲突:避免冲突, 及时提交、更新git:版本控制软件分布式版本控制软件命令:git add:将本地文件 增加到暂存区git commit:将暂存区的内容 提交到 本地仓库(本地分支,默认master分支)git push:将本地仓库的内容 推送到 远程仓库(远程分支)git pull:将远程仓库(远程分支)的内容 拉取到 本地仓库(本地分支)安装gitmsysgit.github.io安装时: Use git from git bash only…,其他默认下一步配置pat

2021-04-09 17:11:46 132

原创 Vue进阶-从0到1搭建UI组件库

基本介绍课程介绍做什么?Vue进阶-从0到1搭建UI组件库哪些内容?封装常见的功能性组件(Button、Modal、Form相关)把组件封装成UI组件库并且发布到NPM上涉及知识点vue基础语法组件基本语法组件通讯(sync,provide,inject)插槽的使用props校验过渡与动画处理计算属性与监听属性v-model语法糖vue插件机制npm发布课程收货掌握组件封装的语法和技巧学会造轮子,了解element-ui组件库的实现原理搭建和积

2021-04-07 15:20:51 844 1

原创 二次封装axios

import axios from 'axios'import store from '@/store/index.js'import baseURL from './baseUrl'import { Message } from 'element-ui'const http = {}var instance = axios.create({ timeout: 5000, baseURL, validateStatus(status) { switch (

2020-12-26 17:37:40 156

原创 ajax“现学现卖”,封装ajax请求

什么是AJAX?AJAX =Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),是一种用于创建快速动态网页的技术。封装ajax请求function http({ url, method='GET', params={}, data={} }) { // 将method值转为大写 metho

2020-11-14 11:58:56 164

原创 axios从入门到源码分析

1. 前后台交互的基本过程1. 前后应用从浏览器端向服务器发送HTTP请求(请求报文)2. 后台服务器接收到请求后, 调度服务器应用处理请求, 向浏览器端返回HTTP响应(响应报文)3. 浏览器端接收到响应, 解析显示响应体/调用监视回调2. HTTP请求报文1. 请求行: 请求方式/url2. 多个请求头: 一个请求头由name:value组成, 如Host/Cookie/Content-Type头3. 请求体3. HTTP响应报文1. 响应行: 响应状态码/对应的文本2. 多个响

2020-11-14 09:48:47 208

原创 JS的运行机制(js面试题)

2020-11-10 14:43:01 542

原创 uni-app中getCurrentPage()修改上一个页面信息,app与h5端获取到的值不同

这里踩坑,在h5端可以直接修改,但是我发现app端是不能够直接获取到上一个页面的数据,要通过$vm才能获取到上一个页面的数据,看以下例子var pages = getCurrentPages(); var prePage = pages[pages.length - 2]; prePage.$vm.model.userName = this.model.user_name; prePage.$vm.model.userCardNumber = this.model.user_card_number;

2020-09-23 17:42:09 4125 5

原创 全局构造websocket类,聊天室实例化应用,心跳重连,uni-app

import interfaces from "../interface/interfaces.js" import dayjs from "dayjs"export default function chatWebsocket(userId,contactId, token, that) { this.socketTask = null; this.webSocketPingTimer = null; this.webSocketReconnectCount = 0; this.webSoc.

2020-09-22 10:54:33 817 1

原创 dayjs:一个日期的JavaScript库

import dayjs from 'dayjs';static formatTime (dateNumber?: number | Date | string): string { if (!dateNumber) { return ''; } const now = Date.now(); const timer = dateNumber ? +dayjs(dateNumber) : now; const date = new Date(timer

2020-07-17 15:05:31 235

原创 .gitignore文件忽略提交unpackage包到github仓库(uni-app)

起因:今天工作中发现团友小伙提交代码合并到master分支上,让我去pull一遍下来,然而unpackage文件一直说有东西重复了,让我删除掉先,所以我就明白了应该是他提交了unpackage包上去了,所以我们就来解决两个问题:1、要怎么样把远程分支上的unpackage包给删除掉?2、要怎么要每次提交都忽略unpackage等文件?1、要怎么样把远程分支上的unpackage包给删除掉?(本地的还在)git rm -r --cached unpackage远程分支删除了,本地分支的unpack

2020-06-20 09:36:54 3546

原创 小程序、uniapp 跳转页面传值(对象)

传----- data = JSON.stringify(data) wx.navigateTo({ url: '/pages/subscribe/subscribe?data=' + data, }) 收----- onLoad: function(data) { data = data.data.replace(/""/g, ""); data

2020-06-08 14:27:18 4107 1

原创 CSS linear-gradient() 函数

定义linear-gradient() 函数用于创建一个线性渐变的 “图像”。为了创建一个线性渐变,你需要设置一个起始点和一个方向(指定为一个角度)的渐变效果。你还要定义终止色。终止色就是你想让Gecko去平滑的过渡,并且你必须指定至少两种,当然也会可以指定更多的颜色去创建更复杂的渐变效果。CSS语法background-image: linear-gradient(direction, color-stop1, color-stop2, ...);用法...

2020-06-06 09:16:51 401

原创 css 使用伪类在div底部画一条线

<div class="div></div>.div { position: relative; }.div::after { content: ''; // 必须 position: absolute; left: 30px; bottom: 0; right: 0; width: 720px; height: 1PX; background-color: #dcdcdc; }提

2020-06-05 14:37:05 2829

原创 uni-app框架 CSS 实现超过规定字符长度显示“...”

问题刚才在做一个样式,消息内容超过一定长度就用“…"显示,但是在uni-app框架中使用出现了一点小问题部分代码:<view class="bottom"> <text class="uni-lastmsg">{{item.lastMsg}}</text> </view>.bottom {display:flex; .uni-lastmsg { white-space:nowrap; overflow:hid

2020-06-05 12:03:25 6994

原创 什么叫盒子模型?有几种模式?

什么是盒子模型?把所有的网页元素都看成一个盒子,它具有: content,padding,border,margin 四个属性,这就是盒子模型。盒子模型有几种模式?1、W3C标准盒子模型2、IE盒子模型W3C标准盒子模型标准模式下,一个块的宽度 = width+padding(内边距)+border(边框)+margin(外边距);W3C模型中:      CSS中的宽(width)=内容(content)的宽      CSS中的高(height)=内容(content)的高IE盒子模

2020-05-31 15:05:02 24185

原创 2020-5-20前端面试题总结

前言:菜菜的我昨天水完了毕业答辩,当然是继续找工作了,虽然今天是千年等一回,但是也没办法,就继续我的面试咯。接受了广州米多网络公司的面试,没有笔试和机试,只有技术总监和HR两面。虽然在面试前就看到了公司的风评很差,说是拖欠工资、断社保等等,但我看着公司挺大的还是试试吧,反正我也没有满意的offer。去到公司发现环境很好啊,像是一个正规公司,自己心里就觉得挺满意的,终于面试了一家像样的公司(两层楼都是它们公司的,我还专门问了技术总监现在开发人员有多少,他说50多),逼逼那么多也没用,我主要是想对面试题做一个总

2020-05-20 23:55:17 742

原创 前端面试错题总结

1、“1”+2+“3”+4 和4+3+2+"1"输出结果分别为多少?答案:“1234”,“91”。(哎,没怎么做过题这么简单都会错)2、一本书的价格降低了50%。现在,如果按原价出售,提高了百分之几?(这道题我碰到好几次了)解析:提高了=提高的价差/原售价x100%即100%提高到=现售价/原售价=200%提高了与提高到是不同的啦~3、HTML5基础-Mark标签高亮显示文本以及em和strong区别?答案:HTML5基础-Mark标签高亮显示文本4、CSS里font-family 属性

2020-05-15 18:23:34 341

原创 怎么区分伪类和伪元素?:before和::before又是什么鬼?

字面上区分伪类和伪元素都有一个共同的修饰词“伪”,“伪”是什么意思?就是假的呗。所以伪类就是假的类,伪元素就是假的元素,这就是在字面上区分它们。那么我们再进一步更好的区分一下。伪类伪类存在的意义是为了通过选择器,格式化DOM树以外的信息以及不能被常规CSS选择器获取到的信息。(CS3给出的定义,翻译过来)所以我们从上面知道伪类的功能有两个:格式化DOM树以外的信息。比如:<a>标签的:link、:visited等。这些信息都不存在于DOM树中。格式化不能被常规CSS选择器获取到的信

2020-05-11 17:07:16 920

原创 BFC详解,从官方定义到上机实操

官方定义**块级格式化上下文(Block Formatting Context,BFC)**是Web页面的可视化CSS渲染的一部分,是块盒子的布局过程法神高度区域,也是浮动元素与其他元素交互的区域。下列方式之一都可以创建BFC:+ 根元素(<html>)+ 浮动元素(元素的float不是none)+ 绝对定位元素(元素的position为absolute或fixed)+ 行内块元素(元素的 display 为 inline-block)+ 表格单元格(元素的 display为 ta

2020-05-11 01:03:23 419

原创 CSS之float属性详解

float官方文档概念float属性指定一个盒子(元素)是否应该浮动,可以设置浮动方向。css语法float:left|right|none|inherit ;属性值:值描述left元素向左浮动right元素向右浮动none默认值。元素不浮动,并会显示在其文本中出现的位置inherit规定应该从父元素继承float属性的值例子(怎样一个浮动法)简单来说就是让块级元素并排在一行当中显示。<!DOCTYPE html><htm

2020-05-10 17:52:58 2353

原创 src和href的区别以及link和@import的区别

src和href的区别src是source的缩写,指向外部资源的位置,指向的内部会迁移到文档中当前标签所在的位置;在请求src资源时会将其指向的资源下载并应用到当前文档中,例如js脚本,img图片和frame元素。当浏览器解析到这一句的时候会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也是如此,类似于该元素所指向的资源嵌套如当前标签内,这也是为什么要把js放到底部而不是头部的原因。当浏览器解析到这一句的时候会识别该文档为css文件,会下载并且不会停止对当前文档的

2020-05-10 15:49:26 1204

空空如也

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

TA关注的人

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