自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Git安装到使用详细教程

Gitlab有个让人无语的地方,对中国不是很友好,注册过程有个验证电话号码,需要先选择国家地区,但始终没有找到中国选项,而我们的手机号都是+86开头的,没有选项符合。进入需要提交代码到远程仓库的文件夹my_test_project,右键选择Open Git Bash here打开终端,输入git init,初始化git仓库,这时在文件夹中会有.git的隐藏文件夹。按项目需要输入项目名称,选择可见性级别,勾选项目配置,这里把项目配置取消勾选,让远程仓库保持空的,方便提交本地代码到远程仓库。

2024-01-14 23:11:13 1076 1

原创 简述正则表达式RegExp

RegExp正则表达式的作用:匹配特殊字符或有特殊搭配原则的字符两种创建方式如果需要创建一个全局匹配字符串‘abc’的正则表达式,可以用下面两种方式直接量,两个斜线间是需要匹配的字符串,斜线后可添加修饰符var reg = /abc/g;new RegExp(),参数1为需要匹配的字符串,参数2为修饰符var reg = new RegExp('abc','g');三个修饰符修饰符匹配规则i忽略大小写g全局匹配m多行匹配修饰符没有

2022-03-20 13:43:58 1360

原创 网页加载时间线

创建Document对象,开始解析web页面。解析HTML元素后添加Element节点等到文档中,这个阶段document.readyState == ‘loading’。遇到link外部css,则创建线程异步加载文件,并继续解析文档。遇到script外部js1)没有设置async或者defer属性,浏览器会直接加载并阻塞文档的解析,等待js加载完成并执行该脚本,然后继续解析文档。2)设置有async或者defer属性,浏览器会创建线程异步加载文件,并继续解析文档。对于有async属性的脚本,脚本.

2022-03-17 14:45:30 440

原创 事件处理方式on、addEventListener和attachEvent

on绑定事件处理程序ele.onxxx = function(){}如下添加一个点击事件,使用onclick,程序中this指向事件对象本身不能给同一个对象绑定相同的处理事件,后面的会把前面的覆盖掉解除事件处理程序ele.onxxx = false/''/null;解除绑定就是给onclick属性重新赋值为false或者空串或者nulladdEventListener绑定事件处理程序ele.addEventListener(type,fn,false);

2022-02-06 19:33:03 488 2

原创 js实现继承的方式

原型链构造函数、原型和实例之间的关系:每个构造函数都有一个原型对象(prototype),原型也有一个属性(constructor)指向构造函数,而实例有一个内部指针(__proto__)指向原型。如果一个构造函数的原型是另一个类型的实例,则这个原型本身有一个内部指针指向另一个原型,相应地,另一个原型也有一个指针指向另一个构造函数。这样就在实例和原型之间构造了一条原型链function Father() { this.property = true;}Father.prototype.ge

2021-08-05 23:44:01 101

原创 windows 搭建 nginx 服务

安装nignx在官网选择下载一个版本的nignx服务,放在合适目录下配置文件打开目录下的conf/nginx.conf,修改user为当前登录的用户名+owner在与conf同级目录下创建一个upload文件夹,并在其下创建upload.conf,然后在nginx.conf的最后面包含这个文件upload.conf中添加如下http配置字符集采用utf-8端口号这里使用的是8089,可以设置成其他没有被占用的端口号服务名是随便取的root是文件读取路径,这里设置成upload,

2021-06-13 15:39:19 214

原创 从零开始搭建vue项目,并使用git管理

从搭建项目环境到创建demo1.安装node如果安装过想再安装需要先卸载2.使用码云创建仓库3.安装Git4.生成SSH公钥5.本地与线上关联6.用vue-cli搭建vue项目7.提交代码到线上仓库1.安装node打开node官网,选择稳定版本下载安装(傻瓜式安装)安装完成后可以在命令行终端输入node -v,如果可以看到安装的版本号,代表已经成功安装了npm是nodejs的包管理工具,会自动安装,输入npm -v同样可以看到安装的版本号如果安装过想再安装需要先卸载找到应用直接卸载删

2021-05-30 23:34:02 2540 1

原创 js中防抖与节流的实现

防抖效果:短时间内一直触发事件时,只执行最后一次触发的函数代码:借助setTimeout来实现,当下次触发事件时,如果setTimeout已经存在,则清除setTimeout并重新计算时间/* fn: 要执行的函数 delay: 延迟执行时间ms args: fn函数的参数(数组) context: fn函数的this指向(默认是函数执行时的上下文环境)*/function debounce(fn, delay, args, context) { let t

2021-01-31 23:40:57 711 4

原创 vue-awesome-swiper使用遇到的坑

最新版使用安装最新版本使用 npm install swiper vue-awesome-swiper --save安装后可以看到版本是这样的注册import Vue from 'vue'import VueAwesomeSwiper from 'vue-awesome-swiper'import 'swiper/swiper-bundle.css'Vue.use(VueAwesomeSwiper)使用<template> <div class="swiper"

2020-12-16 00:05:39 863 2

原创 js中小数计算时精度问题

js中的number为双精度浮点型,计算时需要先进行进制转换,将十进制换成二进制,而进制转换时,小数就有可能出现精度问题了,原因如下整数转二进制:除二取余法(没有问题)4 除以 2 取余数直到商为04/2 = 2……02/2 = 1……01/2 = 0……1反向取余数得到4 ----》100 = 1 * 2 ^ 2 + 0 * 2 ^ 1 + 0 * 2 ^ 0小数转二进制:乘二取整法(精度丢失)0.1 乘 2 取整数直到积为整数0.1 * 2 = 0.20.2 * 2 = 0.40

2020-11-01 23:38:23 2139 1

原创 rem适配

rem如何设置1rem等于页面中设置的html标签的字体大小,即可以自由设置,但为了更好计算,通常设计如下: var baseSize = 100;//计算倍数,通常取100,好算些 var designWidth= 750;//设计稿宽度 var fontSize = (document.documentElement.clientWidth/designWidth*baseSize).toFixed(2);//font-size最好不要小于10px,有些浏览器不支持 docu

2020-06-23 00:24:57 750 1

原创 js data-自定义属性

template<div class="dataCharacter" data-dataMsg="handy"> <ul> <li class="one" data-other-msg="one">1</li> <li class="two" data-other-msg="two">2</li> <li class="three" data-oter-msg="three

2020-05-17 02:01:06 1735

原创 forEach 循环打断方式

1.forEach本身是没有打断操作的2.可以使用抛出异常的方式跳出循环3.可自行封装方法来打断var arr = [0,1,2,3,4,5,6,7,8,9,10];function myForeach(arr,func){ for(var i = 0;i < arr.length;i++){ var res = func.call(this,arr[i]...

2020-03-28 23:01:59 5820

原创 自定义滚动

自定义滚动事件Demo<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta htt...

2020-03-15 16:56:23 112

原创 日期对象及相关实现

可能bugnew Date(string)中string不能是‘YYYY-M-D’,而应该是‘YYYY-MM-DD’因为在iOS或者Safari浏览器中会报错,但如果使用’/’连接是ok的建议使用‘/’或者momenthttp://momentjs.cn...

2020-03-07 23:21:51 117

原创 MVVM双向数据绑定原理

通过Object.defineProperty()为data添加get()和set()方法,实现数据劫持在set()方法中监听数据变化,实现视图更新监听视图数据的变化,改变data中的值

2020-02-13 18:36:29 327

原创 数组的reduce方法

语法arr.reduce(callback,[initialValue])参数说明callback 回调函数,可接受四个参1 上一次调用返回的值,或初始值(initialValue)2 当前元素3 当前元素的索引值4 数组本身initialValue callback中第一个参数的初始值代码示例html部分<div class="testDiv"&gt...

2020-02-13 00:38:57 114

空空如也

空空如也

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

TA关注的人

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