自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (3)
  • 收藏
  • 关注

原创 client,offest,scorll的区别

client:元素可视宽高:content+paddingoffest:元素占位宽高:content+padding+borderscorlltop,scorllleft:元素被卷曲的宽高scorllwidth,scorllheight:元素宽高

2021-01-29 15:02:12 246

原创 js数组方法和字符串方法,数学方法总结

数组方法:push()后面添加pop()后面删除unshift()前面添加shift()前面删除sort()排序jion()将数组变成字符串,可以在每一个字符中间添加连接符,原数组不变reverse()翻转数组concat()合并数组slice()返回数组指定下标和结束下标的新数组splice()可以实现删除,插入和替换删除:要删除的下标位置和数量插入:起始位置,数量(0),要插入的项替换:起始位置,数量,插入项indexof:从左到右查找,要查找的项,下标lastindexo

2021-01-29 14:42:24 161

原创 iframe的作用

iframe标签可以创建一个新的框架,通过这个框架可以在同一个浏览器窗口显示不止一个页面

2021-01-29 11:01:38 214

原创 eval的功能和缺点

eval的功能是将对应的字符串解析成js代码缺点是不安全,消耗性能有json字符串转换成json对象的时候可以用eval,var obj = eval('('+str+')')

2021-01-29 10:04:20 1361

原创 hash模式和history模式

hash模式,浏览器会自带#,#后面的字符都是hash,hash虽然在url中,但不会在http请求中,对服务器安全性没有影响,hash不会重新加载页面。history模式,可以浏览历史栈,也可以修改(pushState(),replaceState()),可以监听状态变更(popState)...

2021-01-28 14:33:08 107

原创 前端性能优化

避免使用css表达式,避免使用高级选择器精灵图懒加载少用全局变量使用settimeout避免页面失去响应避免写在html标签中的style属性

2021-01-28 10:51:51 55

原创 js数组转对象

let arr = [{name:"hhh",tit:"哈哈哈"},{name:"eee",tit:"呵呵呵"},]let obj = {}arr.forEach((item)=>{obj[item.name] = item.tit})console.log(obj)/*obj--{hhh:"哈哈哈",eee:"呵呵呵"}*/

2020-12-17 13:17:34 493

原创 基本数据类型和引用数据类型

ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象。  当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值。  基本数据类型:  number,string,boolean,null,undefined  引用数据类型:object、array、function、data,math,regexp等...

2020-11-02 23:23:19 215

原创 js递归、循环、迭代、遍历和枚举区别和js的遍历方法

递归、循环、迭代、遍历和枚举递归:一个函数不断调用自身的行为循环:指的是在满足条件的情况下,重复执行同一段代码。一般语言都会有三种类型的循环语句:for语句、while语句和do While语句迭代:按照某种顺序逐个访问列表中的每一项遍历:树形结构的一种重要运算,指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。枚举:在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。枚举是一个被命名的整型

2020-11-02 23:08:46 2438

原创 uni-app封装数据请求

新建utils文件utils/config.jslet baseUrl = null; if(process.env.NODE_ENV === "development"){ //开发环境 baseUrl="http://localhost:3000"}else{ baseUrl = "https://api.zhaowei.shop"}export default baseUrl;utils/http.jsimport baseUrl from './config.js'con

2020-11-01 23:19:06 317

原创 ajax封装

// ajax封装 function ajax(json){ json.type = json.type ? json.type : 'get'; json.async = json.async == false ? false : true; json.contentType = json.contentType ? json.contentType : 'application/x-www-form-url

2020-11-01 22:45:03 62

原创 css重置浏览器标签样式表

body,p,h1,h2,h3,h4,h5,h6,ul,ol,dl,dd{margin: 0;}ul,li{list-style: none;}ul,ol,input{padding: 0;}em,i{font-style: normal;}strong,b{font-weight: normal;}a{color: #333;text-decoration: none;}img{vertical-align: top;}input{border: 1px s

2020-10-30 14:18:54 149

原创 vue的计算属性 computed, computed和watch的区别

计算属性计算属性就是当其依赖属性的值发生变化时,这个属性的值会自动更新,与之相关的DOM部分也会同步自动更新。通常被用在购物车计算总价上面computed和watch的区别watch是监听属性,监听data或者watch里面的数据变化,根据当前不同值的情况,做出不同的处理。<script> export default { name: "JobDataUpdate", data(){ return {

2020-10-29 22:56:36 114

原创 vue的组件通信

父组件与子组件传值父组件传给子组件:子组件通过props方法接受数据;//父组件<子组件 属性1="值" 属性2="值"></子组件><子组件 :属性="变量"></子组件>{{属性1}}<li v-for="item in 属性1"></li><script> export default { props:['属性1','属性2'] }</script>注意:vu

2020-10-29 22:44:30 78

原创 Vue-loader

vue-loader就是一个加载器,把Vue编译javaScript的模块,方便浏览器读文件。为什么要转译vue组件动态的渲染一些数据对三个标签(template、script、style)都做了优化script中可以直接使用es6 style 也默认使用sass,提供作用域的选择开发阶段提供热加载...

2020-10-29 22:33:40 83

原创 vue导航的钩子有哪些

导航钩子就是路由的生命周期函数,主要包括全局和局部。全局钩子函数beforeEach:路由切换开始调用,类似路由守卫router.beforeEach((to,from,next)=>{//to:即将进入目标对象//form:当前导航要离开的导航对象//next:是一个函数,调用resolve})对于登录的设置案例:router.beforeEach((to, from, next) => { if (to.name !== 'Login' && !isA

2020-10-29 22:31:20 311

原创 前端模块化

一个模块就是实现特定功能的文件,有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。模块开发需要遵循一定的规范,各行其是就都乱套了

2020-10-29 22:28:41 64

原创 前端使用框架与不使用框架的区别、优缺点

前端实际上就是html,css,js,而前端框架也是基于三者进行封装的。不使用框架开发,使用原生开发或者jquery开发,开发者需要一步一步搭建,对于开发者来说这样开发对自己的代码也更熟悉使用框架的优点:用户体验会更好开发效率高,成本降低使用框架的缺点:代码臃肿,使用者使用框架的时候会将整个框架引入,而框架封装了很多功能和组件,使用者必须按照它的规则使用,而实际开发中很多功能和组件是用不到的。前端框架迭代更新太快,需要时间熟悉...

2020-10-29 22:18:40 3789

原创 构造函数,es6的class类,new操作符

构造函数和普通函数的创建方式一样,但是构造函数习惯首字母大写。构造函数与普通函数的区别:调用方式不一样普通函数:函数名()构造函数:new 函数名()new操作符干了什么:创建了一个空对象,this变量引用该对象,并且继承该对象的原型。将属性和方法加入到引用对象中新创建的对象由this引用,并且隐式返回this//函数名和实例化构造名相同且大写(非强制,但这么写有助于区分构造函数和普通函数)function Person(name,age) { this.name = name;

2020-10-29 21:19:23 321

原创 axios的安装与使用

地址:http://www.axios-js.com含义:易用、简洁且高效的(基于promise)http库 (一个封装好的http插件)特点:支持node端和浏览器端支持promise丰富的配置项全局安装axiosnpm/cnpm install axios -Simport axios from axios //每个组件里单独引入常用的方法get方法:<template> <div> <li v-for="item in

2020-10-24 20:38:45 464

原创 jsonserver模拟数据

安装npm/cnpm install json-server -g新建一个文件夹myjson,在该文件夹下面新建data.json文件{ "arr":[ { "id":1, "title":"111111111" }, { "id":2, "title":"222222" }, { "id":3, "title":"3

2020-10-24 20:15:49 122

原创 js中的堆和栈

栈:自动分配内存空间,会自动释放,存放基本类型,简单的数据段,占据固定的大小空间所有在方法中定义的变量都存放在栈中,随着方法执行结束而销毁内存优点:存取速度快,数据可以共享缺点:数据大小和生存期必须是确定的,缺乏灵活性堆:动态分配内存,大小不定,不会自动释放,存放引用类型,指那些由多个值构成的对象,保存在堆中,包含引用类型的变量。实际保存的不是给变量本身,而是指向该对象的指针堆内存不会随着方法的结束而销毁,可能被另一个引用变量引用。对象将被保存到运行时的数据区。...

2020-10-13 17:04:27 162

原创 vue中watch和computed的区别

watch:用于监听data和computed的数据变化computed:定义属性,这个属性通过计算得到,得到的数据不能进一步操作,通过return返回

2020-10-13 14:50:51 47

原创 vue生命周期,每一个生命周期钩子发生了什么

beforeCreate(创建之前):一般不使用,视图层和数据层都不会更新created(创建之后)视图层没有渲染,但数据层已经开始更新,这里是最早操作data数据的地方,一般在这里请求数据,开启定时器beforeMount(挂载之前):视图层没有真正渲染,只是生成一个虚拟dommounted(挂载之后):虚拟dom渲染到页面,页面有了真实的dom,视图层完成渲染。初始化一些插件配置,也可以在这里进行数据请求。beforeUpdate(更新之前):做判断是否需要更新updated(更新之

2020-10-13 14:46:54 248 1

原创 js的回调机制

在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。...

2020-10-10 20:09:02 342

原创 js中的深拷贝和浅拷贝的区别

深拷贝和浅拷贝的实质区别就是是否真正的完全复制某个实体比如fn1复制了fn2当fn2发生改变时:浅拷贝中fn1也会随之改变,而深拷贝中fn1不会改变浅拷贝是改变堆中的同一个值,而深拷贝是改变堆中的不同的值浅拷贝:只是增加了一个指针指向已存在的内存地址深拷贝:增加了一个指针指向并且申请了一个新的内存地址,指向这个新的内存地址 /* 拷贝: 对象之间 */ var obj = {

2020-10-10 19:44:40 204

原创 何为前端框架

首先jquery不是框架,而是一个js封装库前端框架是随着前端功能越来越强大而提出一套解决方案,使用者必须用它的规定来规范代码,使用广泛bai的前端开发套件,可以帮助你快速的网du站。未来的发展趋势是前后端只靠json数据进行通信,后端只处理和发送一段json到前端,计算和模板渲染都在前端进行,后台程序不再做模板的任何处理。使用MV*框架能有效实现前后端的解耦,简化开发流程,便于维护管理,可以把精力更多放到业务逻辑,提升开发效率。所以考虑是否需要引入前端框架,可以根据产品类型做个基本判断:对于页面型产

2020-10-10 15:27:49 306

原创 javascript常用正则

一、校验数字的表达式数字:1*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})?$正数、负数、和小数:^(-|+)?\d+(.\d+)?$有两位小数的正实数:2+(.[0-9]{2})?$有1~3

2020-10-10 14:21:21 610

原创 前端开发--关键字---保留字

ECMA-262 描述了一组具有特定用途的关键字。这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。按照规则,关键字也是语言保留的,不能用作标识符。以下就是ECMAScript的全部关键字(带号上标的是第5 版新增的关键字):break do instanceof typeofcase else new varcatch finally return voidcontinue for switch whiledebugger function this withdefault i

2020-10-10 14:19:17 684 1

原创 标签上title与alt属性的区别

Alt当图片不显示时用文字代表。Title为该属性提供信息。

2020-10-09 21:24:17 311

原创 常见的几种IE6 BUG及其解决的方法

①双边距BUG float引起的 使用display②3像素问题 使用float引起的 使用dislpay:inline -3px③超链接hover 点击后失效 使用正确的书写顺序 link visited hover active④Ie z-index问题 给父级添加position:relative⑤Png 透明 使用js代码 改⑥Min-height 最小高度 !Important 解决’⑦select 在ie6下遮盖 使用iframe嵌套⑧为什么没有办法定义1px左右的宽度容器(IE6

2020-10-09 21:23:39 411

原创 GET和POST的区别,何时使用POST

GET:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符POST:一般用于修改服务器上的资源,对所发送的信息没有限制。GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值,也就是说Get是通过地址栏来传值,而Post是通过提交表单来传值。然而,在以下情况中,请使用 POST 请求:无法使用缓存文件(更新服务器上的文件或数据库)向服务器发送大量数据(POST 没有数据量限制)发送包含未

2020-10-09 21:16:25 145

原创 vuex-状态管理--vuex是什么及使用方法--使用vuex的好处

vuex-通过四个核心概念集中管理解决的复杂组件之间的数据通信问题vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享,它采用集中式存储管理应用的所有组件的状态使用vuex统一管理状态的好处能够在vuex中集中管理共享的数据,易于开发和后期维护能够高效的实现组件之间的数据共享,提高开发效率存储在vuex中的数据是响应式的,能够实时保持数据和页面的同步vuex的使用1.安装vuexcnpm/npm install vuex --save2.导入vuex包(sr

2020-10-09 19:00:22 577

原创 前端解决跨域的方法及为什么有跨域

为什么有跨域:浏览器未来保护用户的安全和隐私给js设置的限制,ajax发送请求,读取响应,浏览器虽然不会阻止你发送请求,但是却读取不到响应浏览器同源策略:一个域名的js,在未经允许的情况下,不得读取另一个域名的内容。但是浏览器并不会阻止你发送请求。不同服务器2. 同一服务器,不同端口3. 协议不同form表单为什么可以跨域:form表单会刷新页面,不会讲结果返回给js所有浏览器认为这是安全的**前端解决跨域的方法**jsonp:通过动态的向页面中添加script标签,并且将sr

2020-10-09 17:57:42 267

原创 对重构的理解

对重构的理解网站重构:在不改变外部行为的前提下,简化结构、添加可读性,而在网站前端保持一致的行为。也就是说是在不改变UI的情况下,对网站进行优化, 在扩展的同时保持一致的UI。对于传统的网站来说重构通常是:表格(table)布局改为DIV+CSS使网站前端兼容于现代浏览器(针对于不合规范的CSS、如对IE6有效的)对于移动平台的优化针对于SEO进行优化深层次的网站重构应该考虑的方面减少代码间的耦合让代码保持弹性严格按规范编写代码设计可扩展的API代替旧有的框架、语言(如V

2020-10-08 20:27:46 418

原创 HTML与XHTML的区别

XHTML:所有的标记都必须要有一个相应的结束标记所有标签的元素和属性的名字都必须使用小写所有的XML标记都必须合理嵌套所有的属性必须用引号""括起来把所有<和&特殊符号用编码表示给所有属性赋一个值不要在注释内容中使“–”图片必须有说明文字...

2020-10-08 20:25:15 456

原创 CSS3的新特性

CSS3实现圆角(border-radius)阴影(box-shadow)对文字加特效(text-shadow、)线性渐变(gradient)旋转(transform)transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);//旋转,缩放,定位,倾斜增加了更多的CSS选择器 多背景 rgba在CSS3中唯一引入的伪元素是::selection媒体查询,多栏布局border-imageCSS

2020-10-08 19:45:19 59

原创 position:absolute和float属性的异同

共同点:对内联元素设置float和absolute属性,可以让元素脱离文档流,并且可以设置其宽高。不同点:float仍会占据位置,absolute会覆盖文档流中的其他元素。

2020-10-08 18:44:19 730

原创 HTML语义化的理解

用正确的标签做正确的事情。  html语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析;  即使在没有样式CSS情况下也以一种文档格式显示,并且是容易阅读的;  搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,利于SEO;  使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。...

2020-10-08 18:39:02 102

原创 html5有哪些新特性?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5

HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务等功能的增加。(1)绘画 canvas;  (2)用于媒介回放的 video 和 audio 元素;  (3)本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;  (4)sessionStorage 的数据在浏览器关闭后自动删除;  (5)语意化更好的内容元素,比如 article、footer、header、nav、section;  (6)表单控件,calendar、date、time、

2020-10-08 18:36:46 779

reset.css..重置浏览器标签的样式表

重置浏览器标签的样式表,因为浏览器的品种很多,每个浏览器的默认样式也是不同的,比如button标签,在IE浏览器、Firefox浏览器以及Safari浏览器中的样式都是不同的,所以,通过重置button标签的CSS属性,然后再将它统一定义,就可以产生相同的显示效果。

2020-10-10

Navicat_Premium_11.0.10_XiaZaiBa

Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到 MySQL、SQLite、Oracle、MariaDB、Mssql、及

2020-10-10

mysql-5.5.49.msi

mysql数据库,版本5.5.49,64位。MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

2020-09-29

空空如也

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

TA关注的人

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