自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JS详解-数据类型和查看数据类型函数

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-12-07 17:50:06 2561

原创 MVC、MVP、MVVM模式的概念与区别

1. MVC框架MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。1.1 MVC 编程模式MVC 是一种使用 MVC(Model View Controller 模型

2021-01-10 19:59:40 361

原创 重绘和重排

重绘和重排先总结下结论重绘不一定需要重排,重排必然会导致重绘重绘重排的代价:耗时,导致浏览器卡慢。1、重排:当渲染树的一部分必须更新并且节点的尺寸发生了变化,浏览器会使渲染树中受到影响的部分失效,并重新构造渲染树。1)添加、删除可见的dom2)元素的位置改变3)元素的尺寸改变(外边距、内边距、边框厚度、宽高等几何属性)4)页面渲染初始化5)浏览器窗口尺寸改变2、重绘:是在一个元素的外观被改变所触发的浏览器行为,浏览器会根据元素的新属性重新绘制,使元素呈现新的外观。优化1.浏览器自己的

2021-01-10 17:14:22 179

原创 解决异步加载的三种方式

解决异步加载的三种方式1.默认情况javascript是同步加载的,javascript的加载时阻塞的,后面的元素要等待javascript加载完毕后才能进行再加载,如何解决这个问题呢,接下来将为你详细介绍下异步加载js三种实现方案,感兴趣的你可以参考下哈默认情况javascript是同步加载的,也就是javascript的加载时阻塞的,后面的元素要等待javascript加载完毕后才能进行再加载,对于一些意义不是很大的javascript,如果放在页头会导致加载很慢的话,是会严重影响用户体验的。(1

2021-01-03 16:48:22 698

原创 Vue 脚手架

Vue脚手架Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合。下面介绍三种 Vue.js 的安装方法:1.独立版本我们可以在Vue.js的官网上直接下载vue.js,并在.html中通过 开发环境不要使用最小压缩版,不然会没有错误提示和警告!(页面中直接使用)使用vue多页面开发:引入vue.js创建一个vu

2021-01-03 16:36:33 121 1

原创 Vue 过滤器

Vue过滤器 [vue官方文档]Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)。过滤器应该被添加在 简单翻译下过滤器,顾名思义,过滤就是一个数据经过了这个过滤之后出来另一样东西,可以是从中取得你想要的,或者给那个数据添加点什么装饰,那么过滤器则是过滤的工具。例如,从[‘abc’,‘abd’,‘ade’]数组中取得包含‘ab’的值,那么可通过过滤器筛选出来‘abc’和‘abd’;把‘Hello

2020-12-27 15:01:44 63

原创 Vue loader的基本使用

vue-loader的概念其他loader:css-loader、url-loader、html-loader等先来了解一下模块的概念,比如在nodeJS中,有require和exports关键字。很早有个broserify,是个js模块加载器。现在流行的是webpack,因为它不光你能加载js文件,还可以是css文件或图片等资源。webpack,我们可以认为也是更加高级的模块假期,围绕它一切东西都是模块。这些loader是干嘛的?我们知道在html中,我们引入css文件是link标签,但比

2020-12-27 14:43:11 1641

原创 VUE修饰符知识点补充

VUE知识点补充这篇博客是为了补充上篇VUE的中篇的知识点修饰符在VUE中我们认识了一些指令可以用简写的形式来代替V-指令,我们再认识下缩写中的缩写修饰符表单修饰符事件修饰符鼠标按键修饰符键值修饰符v-bind修饰符1.表单修饰符.lazy - 取代 input 监听 change 事件.number - 输入字符串转为有效的数字.trim - 输入首尾空格过滤.lazy//当输入完成离开光标后才执行相当于在onchange事件触发更新。<div> &

2020-12-20 16:01:42 145

原创 VUE简介和基本使用

Web前端——VUE 终于到了我们与生产环境最息息相关的技术——VUE,接下来我会从VUE简介到基本使用,给大家能基本入门VUE1.VUE简介渐进式JavaScript框架:vue适合不同层次的开发人员,比如简单的数据交互,数据与视图的绑定操作,可以直接用vue操作。vue两大特点:响应式编程、组件化。完善的生态环境:vue router,vuex,Nuxt。强大的组件化应用构建声明式渲染,所有的元素都是响应式的。 缺点VUE不支持IE8及以下的浏览器VUE官网2.VUE基础

2020-12-20 11:07:56 266 2

原创 手把手教你怎样将项目上传大神云集的Github上

 关于Github的大名相信学过技术都知道,里面大神云集,且有各种开源代码,真正从小白到大神的作品都可以找到,你想不想也保留个自己的位置,为自己以后作品留个位,没问题,手把手教你!!!版本控制系统 先了解下什么是版本控制系统,版本控制系统是一个记录一个或者若干个文件内容变化的系统。方便将来对于版本修订 或者版本回滚 的源代码管理,简单来说就是带码版本提交仓库为什么要使用版本控制系统 开发过程中 会有协同合作 最好有一个系统能够记录对应的修改和删除信息避免多人开发产生提交冲突版本控制系统的介绍分

2020-12-15 22:24:23 123

原创 继续升级myDemo——关于在项目中添加mongodb数据库

mongodb首先介绍下什么是mongodb吧mongodb数据库 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的

2020-12-14 20:28:14 139

原创 node.js渲染和添加

数据库基本使用所有的操作都是基于数据库来进行添加,修改,删除,查找,所以先来温习下数据库的基本使用数据库数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库的特点实现数据共享。数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。减少数据的冗余度。同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维

2020-12-06 20:47:04 223

原创 node.js简介和使用

node.js简介 首先介绍下什么是node.js简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。在搭配js使用可以前后端操作node.js特点与区别node.js与js区别1 JavaScript:有三部分组成(1)DOM -(文档对象模型

2020-12-06 11:31:26 167

原创 promise使用详解

1.推向promise对象推向 不同的状态const pro = new Promise((resolve,reject)=>{ // 负责把promise对象推向 不同的状态 resolve() //推向了完成阶段的成功状态 reject() //推向了一个失败的状态 })2.原型成员(实例成员)注册一个后续处理函数,当promise为resolved状态是运行该函数,当promise为rejected状态是运行该函数的第二个参数catch() 注册一个后续处

2020-12-02 20:46:27 138

原创 ES6 之 第七种数据类型Symbol

概述为了减少对象的属性名冲突,ES6引入新的原始数据类型Symbol,JS的第七种数据类型。Symbol 能够保证每个属性的名字都是独一无二,这样就能从根本上防止属性名冲突。Symbol 值能够通过Symbol函数生成,也就是说,对象的属性名现在可以有2种类型,一种就是原来的字符串,另一种就是新增的Symbol 类型。let s = Symbol()console.log(s) // Symbol()Symbol函数前不使用new命令,因为生成的Symbol是一个原始类型的值,不是对象,那

2020-12-02 20:30:17 74

原创 monment.js解决你的时间问题

monment.js(官网)Moment.js 是一个简单易用的轻量级 JavaScript 日期处理类库,提供了日期格式化、日期解析等功能。它支持在浏览器和 NodeJS 两种环境中运行。此类库能够将给定的任意日期转换成多种不同的格式,具有强大的日期计算功能,同时也内置了能显示多样的日期形式的函数。另外,它也支持多种语言,你可以任意新增一种新的语言包。moment.js 引入//下载moment.js文件,引入到script src中<script src="moment.js">

2020-11-22 21:37:45 731

原创 formDate表单数据传输

formDate表单数据传输formDate表单数据传输简介formDate表单数据传输作用创建formData对象1.创建一个空对象2.通过表单对formDate进行初始化操作方法通过XMLHttpRequest发送数据注意事项formDate表单数据传输简介XMLHttpRequest 是一个浏览器接口,通过它,我们可以使得 Javascript 进行 HTTP (S) 通信。XMLHttpRequest 在现在浏览器中是一种常用的前后台交互数据的方式。2008年 2 月,XMLHttpReques

2020-11-22 20:53:14 1195

原创 网络基础知识

服务器类型按照服务类型来分文件服务器邮件服务器web服务器按照操作系统来分windowsliunx按照应用软件来分apache服务器IIS服务器Tomcat服务器按照状态来分静态web服务器 任何人任何时间访问都完全相同的技术:HTML CSS JS Flash Gif 音视频常见静态web服务器Apache Httpd Microsoft IIS Nginx动态web服务器 提供的内容在不同时间不同人访问会有变化包含技术:JSP = HTML+JavaPHP =

2020-11-17 20:04:51 121

原创 AJAX同源和跨域

AJAX同源和跨域概念同源:两个网站之间 协议头 域名 端口号 完全一致 == 同源;跨域:两个网站之间 协议头 域名 端口号 任意一个不相等 == 跨域;egttp://www.abc.com/a/b 调用 http://www.abc.com/d/c(非跨域)http://www.abc.com/a/b 调用 http://www.def.com/a/b (跨域:域名不一致)http://www.abc.com:8080/a/b 调用 http://www.abc.com:8081/d/c

2020-11-17 19:51:32 134

原创 移动端视口介绍

视口(viewport)是用来约束网站中最顶级块元素的,它决定了html的大小pc端设备参照浏览器窗口的大小,视口不大重要//获取视口var clientWidth = document.documentElement.clientWidth;var clienthight = document.documentElement.clientHight;视口对pc端影响1.如果确定具体的宽高值,当超出viewport的大小的时候,会出现滚动条2.如果设置的宽度为100%,当子元素宽高大于父

2020-11-08 19:36:22 741

原创 移动端web简介使用基础

 移动端在开发逐渐移动化,过程中是必不可少,随着移动端越来越发达,以后移动端技术就会更加新颖和高端。但我们还是得从基础做起,先来学习下基础的移动端web移动端web基础什么是移动web为什么要写web页面移动web和pc端web的区别移动web和移动app的区别移动web端网页的编码字符集什么是移动web 移动web就是在手机浏览器里面访问web页面(如,小米移动端web,京东移动端web……)为什么要写web页面 响应式布局无法完全满足各种网站的需求移动web和pc端web的区别 设备大

2020-11-08 19:28:46 735

原创 JQuery函数attr()和prop()的区别

JQuery函数attr()和prop()的区别  attr()函数和prop()函数都用于设置或获取指定的属性,它们的参数和用法也几乎完全相同。 操作对象不同应用版本不同用于设置的属性值类型不同其他细节问题操作对象不同  attr和prop分别是单词attribute和property的缩写,并且它们均表示"属性"的意思。…………………………………………………………………………………………………………  在jQuery中,attribute和property却是两个不同的概念。attribut

2020-11-03 22:28:41 2195

原创 jq多库共存问题解决方法

问题概述1、随着jQuery的流行,采用jQuery和符为命名空间的js库越来越多,当然jQuery的符为命名空间的js库越来越多,当然jQuery的符为命名空间的js库越来越多,当然jQuery的符也是参照的Prototype库的,所以当多个库同时以$符或者jQuery为命名空间时,那么此时,就会产生冲突。2、由于jQuery的更新速度过快,所以插件更不上,导致不同版本的jQuery对插件支持的不一样,而刚好我们此时需要用一个高版本的jQuery进行开发,我们用的z-tree则是低版本的jQuery,

2020-11-02 22:21:11 208

原创 jQuery 隐式迭代和链式调用

jQuery 隐式迭代和链式调用jq为什么好用,主要原因少不了两大功臣:隐式迭代和链式调用。隐式迭代对于原生 JS 来说,一般我们设置某类元素的样式,都得使用循环设置,而 jQuery 在使用的时候则无需考虑这点,简单示例如下:// 设置 .primary 元素的文字颜色为 #188eee // 原生 JSvar primary = document.getElementsByClassName('primary');for(var i = 0, len = primary.length;

2020-10-25 16:29:46 188

原创 jquery前期使用深度解析

jquery前期使用深度解析什么是jquery  Jquey就是一款跨主流浏览器的JavaScript库,简化JavaScript对HTML操作就是封装了JavaScript,能够简化我们写代码的一个JavaScript库 jquery官网:jquery官网jquery的优点  具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件,以及本身自带的隐式迭代可以更方便书写代码jquery的兼容性  根据版本不同,分

2020-10-25 15:48:33 93

原创 CSS3基础介绍和新增选择器

CSS3基础功能介绍提升体验感部分CSS动画效果替代js的动画效果布局上的更新 table淘汰 div+css布局 浮动 定位 移动端 最佳 flex弹性盒子布局方式缺点:兼容性不是很好,不能向下兼容低版本。主要部分选择器属性 display的新增属性动画 2D转换 3D转换 Z轴 关键帧动画CSS3新增选择器 属性选择符  ^=选择器  说明选择具有什么属性且属性值以什么开头的字符串的什么元素//语法E[att^="val"] { sRules }//e

2020-10-18 21:00:44 65

原创 ES5保护对象详解

对象的保护

2020-10-18 20:33:53 121

原创 百度地图API——将地图引入项目

  想必在大家在浏览美团,滴滴打车等应用都有地图应用,这大大的方便了我们的生活,减少我们迷路,提升了我们的工作效率  网站上建设地图有四个好处网站地图能够让搜素引擎产生好感,更快速的抓取网站;网站地图的添加可以有效提升网站的收录;网站地图可以提升连接页面的权重;网站地图有利于用户体验在百度地图给开发入手最好体验的两种服务一个是开发者学院还有一个文档案例使新手也能很好熟悉业务代码,提早将学到的知识运用到项目中这是一个小demodemo<!DOCTYPE html>

2020-10-10 19:44:09 390

原创 ES6 let和const详解

ES6语法let声明变量ES3.1声明变量方式 //var num = 100(直接挂再window上。容易造成全局污染)ES6声明变量方式 //let num = 100(不会造成全局污染)let不允许重复声明let不会有声明提前 ?在人为效果上是没有声明提前,而实则将数据保存到临时性死区中Cannot access 'num' before initialization//出现这种错误时表式将数据保存到临时性死区{}块级作用域ES3.1局部作用域(function(){ v

2020-10-08 16:34:06 70

原创 sessionStorage会话存储&localStorage本地存储

什么是 HTML5 Web 存储?使用HTML5可以在本地存储用户的浏览数据。早些时候,本地存储使用的是 cookie。但是Web 存储需要更加的安全与快速. 这些数据不会被保存在服务器上,但是这些数据只用于用户请求网站数据上.它也可以存储大量的数据,而不影响网站的性能主要分为两种sessionStorage会话存储&localStorage本地存储先来介绍下sessionStorage会话存储会话级存存储浏览器到浏览器之间产生数据–key-value,当会话结束时,会话级数据消失/

2020-10-08 16:21:11 648 1

原创 XML,HTML,XHTML之间的区别

我们先来说说XML的定义XML的定义XML 被设计用来传输和存储数据。XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而非显示数据XML 标签没有被预定义。您需要自行定义标签。XML 被设计为具有自我描述性。XML 是 W3C 的推荐标准...

2020-10-08 15:55:50 1172

原创 H5强大的画布标签canvas和svg

H5新增绘画标签简介  在H5中对于绘画的功能一直都是强大,可以做出十分华丽的动画效果和经常使用图标都是H5标签新增绘画标签canvas和svg,这两个标签下限低(可以很简单绘制比较单调的几何图形????????),上限高(做出华丽的动画效果,需要考虑空间想象能力,三角函数,贝塞尔函数…等????????)下面我会分成目录,给大家讲解canvas与svgcanvas与svgcsnvas与svg基本介绍csnvas与svg用途csnvas与svg语法标签canvas画布属性与sv

2020-10-08 15:30:53 457

原创 H5-新增标签-video

video标签简介作用主要用来承载视频格式的标签Video替代flash 视频//基本用法<video></video>video的基本属性行盒:默认w300,h150src:用来链接视频地址(至少提供两种视频格式文件,避免出现视频格式不兼容问题:flv,swf,ogg,webm,mp4)controls:视频默认控件(Boolean 有暂停,播放,声音,倍速,全屏等功能,但每个浏览器显示不同)autoplay单独设置无效果需使用方法;controls:是否显示

2020-09-27 23:01:12 208

原创 强大的数据的可视化工具——Echarts.js的简介

Echarts简介  ECharts,缩写来自Enterprise Charts,商业级数据图表,由百度旗下出产的工具  纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览(IE6/7/8/9 /10/11,chrome,firefox,Safari等)支持折线图(区域图)、柱状图(条状图)、散点图(气泡图)、K线图、饼图(环形图)、雷达图(填充雷达 图)、和弦图、力导向布局图、地图、仪表盘、漏斗图、事件河流图等12类图表,

2020-09-27 20:16:47 724

原创 关于HTML5 新增标签canvas详解

概述  canvas是html5出现的新标签,像所有的dom对象一样它有自己本身的属性、方法和事件,其中就有绘图的方法,js能够调用它来进行绘图基本知识##context:是一个封装了很多绘图功能的对象,获取这个对象的方法是var context =canvas.getContext("2d");##canvas元素绘制图像的时候有两种方法,分别是 context.fill()//填充 context.stroke()//绘制边框##style:在进行图形绘制前,要设置好绘图的样式co

2020-09-20 19:50:06 305

原创 防抖和节流

性能优化这个领域的很多内容都很碎片化,比如对图片方面的优化(计算图片的大小、图片加载优化)懒加载,包括今天要总结的防抖和节流。就算你没听过防抖节流,但是你做项目的时候,一定遇到过。如果你知道了这块知识,那么你之前的问题就迎刃而解了。  防抖:多次触发事件该事件只能被执行一次,指定时间过后可再次执行,本质上就是以最后的操作为标准在指定时间内 function debounce(fn) { let time = null; return function (

2020-09-20 19:28:06 33

原创 DOM事件操作加兼容IE的一些方法

DOM操作查看滚动条的滚动距离(IE9以下不兼容)window.pageXOffset/pageYOffset//(按比例计算)//兼容IE document.body/documentElement.scrollLeft/scrollTop封装兼容IE滚动条的距离//封装兼容IE滚动条的距离 // 获取滚动条的距离 function getScrollOffset() { if (window.pageXOffset) {

2020-09-13 22:14:46 202

原创 DOM事件流

水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水

2020-09-13 21:41:14 52

原创 li标签绑定事件比如有1000个li标签需要点击,显示对应li标签的内容,

 源自于一道面试题,可能大多数人会选择使用循环遍历给1000个li添加事件,但这样效率低不说,并且还占用浏览器性能,要知道内存可是寸土寸金的地方,用大量内存来处理,用法简短但却极其占据内存的事,而且还产生了闭包的效果,是不明智的选择。那hr想听到的答案是啥了,且听我以下分解首先我先展示下不正确的做法<ul> <li>1</li> <li>2</li> <li>3</li> <li>4</

2020-09-06 19:59:25 817

原创 关于对象的创建,克隆,和继承面试题

 关于对象一直都是面试中经常出现的常客,既然是经常出现的,我们就要把这个点拿下。以下有三道面试题面试题:JavaScript创建对象有几种方式//1.(字面量创建)var obj = {};obj.name = '张三';obj.action = function (){alert('吃饭');};//2.(使用Object创建对象)var obj = new Object();obj.name = '张三';obj.action = function (){alert('吃

2020-09-06 18:05:40 122

空空如也

空空如也

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

TA关注的人

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