自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

原创 简单概述JSONP原理

简单概述JSONP原理先提出一个问题为什么要使用jsonp当我们进行网络请求的时候,本地的前端的html页面向本地的后端发送ajax请求的时候,是可以发送,但是如果向第三方后端服务器发送请求时访问不到的,此时就是前端经常出现的跨域问题,解决跨域的方法很多但是我们只说对于前端参与感及高的jsonpjsonp的原理就是 我们利用ajax请求对第三方服务器发送请求时,浏览器安全机制过于严密,因此我们想到了另一个方法,当我们从cdn网站上去引入jquery包文件时,也是访问第三方服务器但是不会被拦截,因此我

2020-09-12 16:43:42 1281 4

原创 手动实现vuex中mapGetters

vuex中mapGetters在我们读取vuex的数据的时候通常是这么读取的 console.log(this.$store.state.book.test)如果这样反复使用会发现有很大的代码冗余量因此,vue也提供了mapGetters这种好用的方法首先在store目录下新建一个getters文件夹然后在其内部将需要反复读取的数据组合成一个对象,并暴露出去同时还要在store下的index文件中配置引入和使用然后在需要获取数据的vue文件中引入vue中的mapGetters方法

2021-04-18 16:21:00 343

原创 axios封装

//api.jsconst API_LIST = { login: { baseURL: "/contactList", method: "get" }, register: { baseURL: "/contact/new/json", method: "post" }, getuserlist: { baseURL: "/getuserlist", method: "

2021-03-23 17:07:50 222

原创 css禁止js鼠标点击事件触发

body{ pointer-events:none;}

2021-03-22 11:40:45 619

原创 踩坑一个localstorage使用问题

因为我们公司web端项目以原生为主,所以大叫就不要收什么vuex,redux,dva之类的状态管理,我们公司的主要数据存储在于node端因此我这里作为一个前端常用的存储方式就是本地存储,给大家说一下我之前到的一些问题第一次发现localstorage出现问题是因为我先要在locastorage存储url,因为(现在有4个页面),现在项目要求a页面跳转b页面,b页面跳转c页面,c页面要跳转d页面,d页面可以选择跳转至之前的第几个页面,我的解决方法是我将a,b,c,三个页面的url存储在本地存储loc

2021-01-29 17:04:46 1512

原创 nodejs mysql 连接池

const mysql = require("mysql");//下载的第三方npm包const config = require("../config/config")//引入需要的默认配置// mysql连接池//首先进行连接const pool = mysql.createPool({ host: config.HOST,//数据库ip user: config.USERNAME,//数据库账号 password: config.PASSWORD,//数据库密码

2021-01-28 20:14:44 409

原创 koa 项目遇到 错误Error: ER_ACCESS_DENIED_ERROR: Access denied for use

koa 项目遇到 错误 Error: ER_ACCESS_DENIED_ERROR: Accessdenied for user ‘’@‘localhost’ (using password: NO)查看全网没有类似的回答这是我的问题我在编写koa后端项目连接数据库时出现这个问题我通过stack overflow 看到大佬说有可能是权限问题有可能是密码问题有可能是要切换端口最终解决只是因为将字段名写成了大写的原因 害...

2021-01-02 17:29:48 216

原创 git 提交缓存区时提示warning: LF will be replaced by CRLF in .gitignore. The file will have its original line

git 提交缓存区提交代码时报错 warning: LF will be replaced by CRLF in .gitignore. The file will have its original line endings in $ git add .warning: LF will be replaced by CRLF in .gitignore.The file will have its original line endings in your working directory原

2021-01-01 17:16:46 2501

原创 Vue项目覆盖率展示

建立一个集成了单元测试的Vue项目创建一个vue-cli项目 vue create mytestdemo # 选择手动配置 Please pick a preset: zcloud (router, vuex, less, babel, eslint, unit-jest) default (babel, eslint) * Manually select features # 选择需要的功能? Ple

2020-12-29 14:58:54 1144 1

原创 VUE-cli 项目-- Cannot find module ‘@vue/cli-shared-utils‘

VUE-cli 项目-- Cannot find module ‘@vue/cli-shared-utils’运行 项目的时候遇到 Cannot find module ‘@vue/cli-shared-utils’只需要先运行一下 cnpm update / npm update 重新更新一下依赖,在运行一下项目就可以了主要是一些依赖或者环境升级了 让你更新一下...

2020-12-29 14:23:26 1784

原创 Node中的assert.equal

Node中的assert.equalassert.equal(actual, expected[, message])参数类型actual:anyexpected: anymessage: string|Error严格模式An alias of assert.strictEqual().官方解释Tests shallow, coercive equality between the actual and expected parameters using the Abstract E

2020-12-28 09:20:37 288

原创 git生成公钥

下载gitssh-keygen -t rsa一路回车选择默认值cat ~/.ssh/id_rsa.pub生成公钥在下面输入生成出来的公钥就可以了

2020-12-23 10:43:51 94

原创 安装node-gyp

安装node-gyp安装前提python(v2.7,3.x不支持)visual C++ Build Tools 或者(vs2015以上).net framework 4.5.1注意:安装node-gyp之前必须安装node.js并且一定是32位

2020-12-23 10:20:02 192

原创 使用Express脚手架创建node项目

使用Express脚手架创建node项目npm install -g express-generator # 全局安装 express脚手架express "项目名称"npm install #安装依赖npm start #启动项目使用nodemon和cross-env安装这两个插件可以让我们通过 npm run dev 来启动项目,并对项目实时修改进行自动相应npm install nodemon cross-env --save-dev修改packge.json中的scripts"

2020-12-23 10:14:09 307

原创 Vuex

Vuex概念:Vuex是一个专为Vue.js应用程序开发中管理的一个模式通过创建一个数据存储对比Vue.js:传统的vue是 单向数据流 ,如果是兄弟组件之间的传值兄弟组件间的状态传递无能为力我们经常会采用父子组件正向/反向传值来对数据进行传递,以上的这些模式非常脆弱,通常会导致我也发维护的代码Vue.js只能用于 单个页面中不同组件(例如兄弟组件)数据流通安装npm install vuex --save配置vuex文件创建在src中创建store文件夹==>

2020-10-27 15:06:33 196

原创 面试题之html新增内容

HTML5新增的内容有哪些语义化标签 header,main,aside,nav,footer,section等增强型表单 password number tel url file range color datatime date time week month 等新的表单属性 placeholder list datalist min max autofocus等视频音频 audio videoGeolocation:可以请求用户共享他们的位置Communication:跨文档消息通信,可

2020-10-26 11:41:32 150

原创 vue路由

路由作用:所有的路径都经由这个模块重新分配(改变url,在不重新请求页面的情况下,更新页面视图)根据url锚点路径,在容器中加载不同的模块完成spa(单页面引用开发)原理:利用锚点完成切换页面不会刷新一级路由用Vue.js+Vue Router 创建创建单页面应用,是非常简单的,将组件(components)映射到路由(routes),然后告诉Vue Router在哪里渲染它们,定义(路由)组件。 const tema = {template:"<p>

2020-10-21 10:46:38 98

原创 为什么Vue实例中的data是一个对象,但是组件实例中的data却必须是一个方法呢

为什么Vue实例中的data是一个对象,但是组件实例中的data却必须是一个方法呢先看一下vue实例 let vm = new Vue({ el:"#box", data:{ num:0 }, methods:{ }, computed:{ }, filters:{ }, watch:{ },

2020-10-17 15:40:49 1433 2

原创 浏览器渲染之阻塞渲染

浏览器渲染之阻塞渲染####1.关于css阻塞:声明:只有link引入的外部css才能够产生阻塞。1.style标签中的样式:(1). 由html解析器进行解析;(2). 不阻塞浏览器渲染(可能会产生“闪屏现象”);(3). 不阻塞DOM解析;2.link引入的外部css样式(推荐使用的方式): (1). 由CSS解析器进行解析。 (2). 阻塞浏览器渲染(可以利用这种阻塞避免“闪屏现象”)。 (3). 阻塞其后面的js语句的执行: (4). 不阻

2020-09-21 19:22:45 532

原创 图层重绘与重排

图层重绘与重排css图层浏览器再渲染一个页面时,会将页面分为很多个图层,图层有大有小,每个图层上又一个或多个节点,在渲染DOM的时候,浏览器所做的工作实际上时:获取dom分割为多个图层对每个图层的节点计算样式的结果(Recalculate style–样式重计算)为每个节点生成图形和位置(layout—重排,回流)将每个节点绘制填充到图层位图中(paint—重绘)图层作为纹理上传到GPU组合多个图层到页面上生成最终屏幕图像 (Composite-layers–图层重组)图层创建的条件

2020-09-21 11:50:24 180

原创 浏览器渲染引擎

浏览器渲染引擎主要模块通常渲染引擎主要包括HTML解析器,css解析器,JavaScript引擎,layout模块,绘图模板HTML 解析器,解释HTML文档的解析器CSS解析器,为dom中的各个元素对象计算样式信息JavaScript引擎:使用JavaScript代码可以修改网页的内容也能修改css的信息,JavaScript引擎也能解释JavaScript代码布局(layout),在dom树创建之后,webkit(浏览器内核)需要将其中的元素对象同样是信息结合起来,计算他们的大小位置等布局

2020-09-19 17:39:28 136

原创 搭建一个简易的Node.js服务所需要用到的模块以及引用方式

Node.js 搭建简易服务器利用npm下载两个第三方模块 express ,mysql,因为我这里操作的是sql数据库所以我下载的是mysql的第三方模块 npm install express --save npm install mysql --save如果没有报红就是下载好了 然后我们直接代码 const express = require("express")(); // 分别初始化 const mysql = require("mysql") //在申明一个常量,来作为我接下来

2020-09-19 15:23:09 158

原创 javascript原型继承以及原型链

es5 原型继承 function Person (name,age,sex){ this.name = name, this.age = age, this.sex = sex } Person.prototype={ type:"灵长类", sayName(){ console.log('i am'+this.name); }}let wdw = new Person("小伟",18,"男");此时我们需要继承该构造函数只需要把一个新的构造函

2020-09-19 14:57:51 93

原创 个人理解javaScript闭包函数

JavaScript闭包闭包的本质是:外层函数与内层函数嵌套内层函数作为外层函数的返回值,内层函数常识访问外层函数局部变量并进行运算及返回,同时外层函数自调用,此时调用最外层函数等价于调用内层函数,同时外层函数的局部变量被永久存储在内存之中,闭包的缺陷,外部函数的局部变量被永久存储在函数内存之中,不被垃圾回收机制所处理,因此,大规模使用该方法将造成内存泄漏使用场景如果希望一个变量不能轻易被修改,使用闭包函数,如果某个变量想要在最最外层作用域下访问,则使用闭包函数...

2020-09-19 14:37:35 166

原创 简单概括cookie,local storage ,session storage之间的区别

简单概述cookie ,local storage ,session storagecookie 是旧版本js自带的浏览器存储方式,local storage ,session storage 是后期出现的,相比之下,local storage 和session storage 的兼容性略差于cookie ,但是local storage,session storage的增删改查的内置方法相比于cookie较为简单,并且 cookie再存储时需要传递date参数来表达想要存储数据的时间,local sto

2020-09-12 16:26:52 933 3

原创 js 原型对象

js 原型对象每个对象都有一个原型对象,我们这里用构造函数来举例创建一个构造函数 function Dog(name,age,sex,type) { this.name = name; this.age = age; this.sex = sex; this.type = type; } //调用构造函数=>对象实例化 let

2020-08-31 20:57:24 282

原创 原生js笔试题错题点

分享几个之前做题的错题点,发现自己的理论知识还是有点差,以后会不定期分享错题原生js笔试题错题点下列哪些是属于DOM操作正确方法A:removeChildrenB:appendCdhildC:childrenD:removeChildren正确答案BD解析:原生js中没有removeChildren方法,children属于选择器而并非方法,children属于一个原生js node节点的属性以下选项能够正确的随机获取数组中的元素var arr=[“张三”,“李四”,“王五”,“

2020-08-31 19:57:39 590

原创 原生js的事件

原生js的事件鼠标事件onclick 鼠标点击事件onmouseenter 鼠标经过事件onmouseleave 鼠标离开事件onmousemove 鼠标移动事件onmouseup 鼠标抬起onmousedown鼠标按下onmousecontextmenu呼出浏览器右键菜单栏事件键盘事件onkeydown键盘按下事件onkeyup键盘弹起事件鼠标事件对象eventoffsetX鼠标距离触发事件对象的X坐标距离offsetY鼠标距离出发事件对象的Y坐标距离ClientX

2020-08-31 08:51:19 173

原创 JS date对象与math对象的内置方法

JS date对象与math对象的内置方法date对象的内置方法getFullYear() 获取当前所在时间的年份getMonth() 获取当前所在月份的索引值 即8月返回的getmonth()的方法返回值为7getDate() 获取当前所在时间的日getHours() 获取当前时间的小时数getMintues() 获取当前时间的分钟数getSeconds() 获取当前时间所在的秒数getDay() 获取当前时间所在的周getTime() 返回一个距离1970年1月1日00:00:00

2020-08-30 18:54:57 125

原创 js数据类型

js数据类型number常用方法Number()强制转换为数字类型如果是string类型可以强制转换为数字胡哦这NaNparseInt()强制转换为数字类型,10px=>10parseFloat()强制转换为转换为小数类型 科学计数法,小数,正负数会被忽视,toFixed()强制保留小数toLocaleString把数字转换为字符串,使用本地数字格式顺序。toExponential把对象的值转换为指数计数法。toPrecision把数字格式化为指定的长度。valueOf返回一个

2020-08-29 21:45:03 193

原创 简述es6相对于es5的变化,

简述es6相对于es5的变化let和const以及varlet和const在es6中是存在块级作用域的概念的 { let a = 0 ; } console.log(a); { const a = 0 ; } console.log(a);说这两种都是运行不了的 const a = 0 ; a = 1; console.log(a);const因为是用来申明常量的所以这种先声明后更改的也是存在语法错误的也算是const的一种特性 申明不可重复赋值,在es5中也是可

2020-08-28 21:00:12 371 1

原创 简述js中this指向问题

适合初学者理解的js中this指向1.出现在事件处理函数中,指向触发事件的node节点 <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul> var liList = doc

2020-08-28 20:21:06 235 1

原创 原生js手写轮播图滑动特效

原生js手写轮播图滑动特效上代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>轮播图</title> <style> * {

2020-08-28 14:09:54 191

原创 js内部函数内部申明一个全局变量

在js函数内部声明一个全局变量废话不多说直接上代码 <script> function myFn(){ var a= 0; } myFn(); console.log(a); </script>这里提示a是未定义的,但是如果吧声明变量的关键字去掉, <script> function myFn(){ a= 0;

2020-08-15 16:48:24 2630 2

原创 关于浮动后出现的高度塌陷问题

当我们设置一个父盒子其中有两个子盒子<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>浮动元素高度塌陷</title> <style>

2020-08-06 10:55:16 157 2

原创 总结css3选择器

总结css3选择器总结一下css3选择器,如有遗漏欢欢迎补充1、基本选择器id选择器class选择器标签选择器通用选择器群组选择器2、关系选择器后代选择器子代选择器兄弟选择器3、动态伪类选择器:link选择器:visited选择器:hover选择器:activied选择器4、 目标伪类选择器:target选择器5、ui元素状态选择器:checked选择器:diseabled选择器:enabled选择器6、结构为类选择器:first-chi

2020-08-01 14:52:53 144

原创 刚入门前端怎样理解表单提交方式get与post的区别

刚入门前端怎样理解表单提交方式get与post的区别get:从服务器上获取数据,安全性较低,吧键值进行拼接到浏览器url之中post:向服务器传输数据安全性交较高,post是将传输的数据放入请求报文体之中...

2020-08-01 14:26:57 174 1

原创 img中alt属性和title属性的区别

img中alt属性和title属性的区别【alt和title的区别】1、两者都有利于SEO(搜索引擎的优化)2、lt比较倾向于SEO,3.、title更注重的是用户体验度;4、alt是当图片不存在或出现错误时显示的替换文本··Title是当鼠标放在图片上时显示的提示信息...

2020-07-31 21:18:58 212

原创 如何利用htmlcss绘制一个三角形

如何利用htmlcss绘制一个简易的三角形如何利用htmlcss绘制一个三角形新建一个div<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>纯css绘制三角形</titl

2020-07-31 21:13:52 785 3

swiper.zip

js手写轮播图其中运用到了setInterval,事件锁,清空计时器 // 触摸到div的时候清空计时器 $('div').onmouseenter = function () { clearInterval(clear); } // 离开div的时候重新开启计时器 $('div').onmouseleave = function () { clear = setInterval(function () { $('#right').click(); }, 1000) }

2020-08-28

空空如也

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

TA关注的人

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