自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue中的自定义指令

1.自定义指令的理解可定制指令对dom进行操作。这就说明它不仅仅只是自己封装的对于DOM的操作指令,也就意味着它可以代替v-model、v-for、v-bind…这些官方指令,所以它拥有很强的可塑性。2.注册自定义指令自定义指令注册也分为全局自定义指令,局部自定义指令。2.1全局指令注册Vue.directive('name',{ fn()})2.2局部指令注册 dir...

2019-08-08 19:54:23 303

原创 关于promise

1.提到promise我们就不得不说一下回调地狱(回调缺点1)回调地狱:指的是回调嵌套过多的情况,导致代码很难被看懂。let arr=[];function aa(fn){ fn('一只狗') } function bb(fn){ fn('一只猫') } function cc(数量,callback){ arr.push(数量)...

2019-08-08 19:42:54 192

原创 返回顶部的几种方法

scrollTop()scrollTop属性表示被隐藏在内容区域上方的像素数。元素未滚动时,scrollTop的值为0,如果元素被垂直滚动了,scrollTop的值大于0,且表示元素上方不可见内容的像素宽度由于scrollTop是可写的,可以利用scrollTop来实现回到顶部的功能<body style="height:2000px;"> <button id...

2019-08-07 18:59:45 1679

原创 如何解决position:fixed在ios系统上无法使用的问题

把需要用手滑动的内容用clss为.content(名字随便起)的div包起来,样式代码如下:.content { position: fixed; top: 0; left: 0; bottom: 180px; /*距离底部的距离为底部盒子的高度,自己也可以设置*/ overf...

2019-08-07 18:56:17 1572

原创 互联网服务中的用户验证

JSON Web Tokens:它支持众多的语言。这意味在未来的使用中你可以真正的转换你的认证机制。JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案 ,详情请查看阮一峰的JSON Web Token互联网服务离不开用户认证。一般流程是下面这样。用户向服务器发送用户和密码。服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。...

2019-08-05 15:10:33 255

原创 深拷贝和浅拷贝

用es6的Object.assign({},{})进行对象合并,如果是数组可以用es6的Array.from,或是es6的扩展运算符…arr,如果使用es5需要用循环来做浅拷贝,如果是深拷贝需要用递归的形式来实现,当然也可以用JSON.parse(JSON.stringify(对象))的方式实现深拷贝...

2019-08-04 21:23:14 173

原创 前后端分离的理解

所谓前后端分离就是前后端职责分明,后端只提供数据接口地址返回json数据,前端用ajax请求json数据,页面的所有业务逻辑都是前端来写,让前端控制力更强,并且减轻后端逻辑处理压力...

2019-08-04 21:19:59 297

原创 对于http状态码的理解

1XX(临时响应)表示临时响应并需要请求者继续执行操作的状态码2XX(成功)表示成功的处理了请求的状态码。常见的2开头的状态码有:200 —— 服务器成功返回网页3XX(重定向)表示要完成请求,需要进一步操作。通常,这些状态代码用来重定向。常见的3字开头的状态码有:301(永久移动)请求的网页已永久移动到新位置。服务器返回此响应时,会自动将请求者转到新位置。302(临时移动)服...

2019-08-04 21:17:01 123

原创 ajax缓存如何解决以及一些前端与后台交互主要用的什么技术

可以通过在文件名后面添加随机数(也成为文件指纹)来实现,主要原理是浏览器对访问过的文件,首先会检测第二次请求的url在浏览器是否缓存过,如果缓存过就使用,否则如果是一个新的文件url,则从服务器重新请求。javaScript原生Ajax:用的是XMLHttpRequest对象jQuery中的Ajax:.ajax(),.ajax(),.ajax(),.getJSON(),.get(),.get(...

2019-08-04 20:51:57 122

原创 对于同步和异步的理解

同步:即sync,形象的说就是代码一行行的顺序执行,前面代码和请求没有执行完,后面的代码和请求就不会执行缺点:容易造成代码阻塞优点:容易理解(因为代码从上往下执行,强调了顺序)异步:即async,形象的说就是代码可以在当前程序没有执行完,也可以执行后面的代码。缺点:不易理解(因为没有顺序,需要查找)优点:可以解决代码阻塞,提高代码效率和性能。异步解决的三个方案:回调函数pro...

2019-08-04 20:26:13 195

原创 跨域的解决方案

跨域的解决方案目前有三种主流解决方案跨域是浏览器做出的限制,和后端没有关系1. jsonpjsop实现原理:主要是利用动态创建script标签请求后端接口地址,然后传递callback参数,后端接收callback,后端经过数据处理,返回callback函数调用的形式,callback中的参数就是json2. 代理(前端代理和后端代理)前端代理在vue中主要是通过vue脚手架中的conf...

2019-08-04 20:20:49 110

原创 一些关于ajax的相关问题

如何与后端进行数据交互?通过ajax来进行数据交互,通过统一制定的接口文档,来实现前后端高效开发,如果接口文档不能详细说明,或者接口文档上的参数请求不出数据,那么就需要主动与后端工程师进行沟通,直到完成跟接口相关的开发业务。当然这其中为了验证一些接口问题,会用到一些辅助工具,比方说,runapi这种在线测试工具。对于ajax的同源策略的理解?ajax的同源理解是因为安全的考虑,ajax不允许...

2019-08-04 20:07:03 114

原创 讲一下git的相关问题

首先git是来进行项目版本控制的。git地常用命令有哪些?有git add, git status,git commit -m,git push,git pull等。如果我们需要多人操作同一个文件,出现冲突,那么冲突该如何解决?当遇到多人协作修改同一个文件时出现冲突,就需要先将远程文件先git pull下来,手动修改冲突代码后,再git add,git commit,git push再上传...

2019-08-04 19:46:20 107

原创 call,apply,bind的区别有哪些

call,apply,bind的主要作用都是改变this指向的,但使用上略有不同,说一下区别:call和apply的主要区别是在传递参数上不同,call后面传递的参数是以逗号的形式分开的,apply传递的参数是数组形式(apply是以A开头,所以这里可以跟Array有关联,即参数为数组)bind返回的是一个函数形式,如果要执行,则后面要再加一个小括号,例如:bind(obj,参数1,参数2)(...

2019-08-04 19:39:25 2153

原创 这里讲一下js数据类型有哪些

基本数据类型和复合类型基本数据类型:number,string,boolean,null,undefined,symbol(ES6新增类型)复合类型:Object,function

2019-08-04 19:33:35 91

原创 JS事件代理(也称事件委托)是什么,及实现原理

JS事件代理就是通过给父级元素(例如:ul,tr等等)绑定事件,不给子级元素(例如:li,td等等)绑定事件,然后当点击子级元素时,通过事件冒泡机制在其绑定的父元素上触发事件处理函数,主要目的是为了提升性能,因为我不用给每个子级元素绑定事件,只给父级元素绑定一次就好了,在原生js里面就是通过event对象的taget属性实现。 var ul=document.querySelector("u...

2019-08-04 19:31:07 2977

原创 输入URL到页面加载完这中间发生了什么?

大致过程是这样的:DNS解析TCP连接发送HTTP请求服务器处理请求并返回需要的数据浏览器解析渲染页面 连接结束输入了一个域名,域名要通过DNS解析找到这个域名对应的服务器地址(ip),通过TCP请求链接服务,通过WEB服务器(apche)返回数据,浏览器根据返回数据构建DOM树,通过css渲染引擎及js解析页面渲染出来,关闭tcp连接。主要就是三次握手的体现,这里就不详解...

2019-08-04 19:17:47 158

原创 JS作用域和作用域链

JS作用域也就是JS识别变量的范围,作用域链也就是JS查找变量的顺序。先说作用域,JS作用域主要包括全局作用域、局部作用域和ES6的块级作用域全局作用域:也就是定义在window下的变量范围,在任何地方都可以访问。局部作用域:是只在函数内部定义的变量范围。块级作用域:简单来说let和const在任意的代码块中定义的变量都认为是块级作用域中的变量,例如在for循环中用Let定义的变量,在if...

2019-08-04 19:11:44 72

原创 JS数组内置遍历方法有哪些和区别

JS数组内置遍历(遍历就是循环的意思)方法主要有:forEach:这个方法是为了取代for循环遍历数组的,返回值为undefined例如: let arrInfo=[4,6,6,8,5,7,87] arrInfo.forEach((item,index,arr)=>{ //遍历逻辑 })其中:item代码遍历的每一项index: 代表遍历的每项的索引a...

2019-08-02 20:35:05 205

原创 JS常用的数组方法有哪些

在开发过程中,数组使用频率很频繁,JS数组常用方法有:push,pop,unshift,shift,splice,join,concat,forEach,filter,map,sort,some,every等等,不过都是平时开发中常用的语法,还有ES6新增的一些语法,这里就不详解了...

2019-08-02 20:19:57 217

原创 对于JS面向对象的理解

JS面向对象主要基于function来实现的,通过function来模拟类,通过prototype来实现类方法的共享,跟其他语言有着本质的不同,自从有了ES6后,把面向对象类的继承实现更新后端语言实现了,通过class来实现类,通过extends来继承父类,其实ES6类的实现本质是一个语法糖,不过对于开发简单了许多。...

2019-08-02 20:17:07 243

原创 JS设计模式有哪些(单例模式观察者模式等等)

JS设计模式有很多,但我知道的有单例模式,观察者模式单例模式:就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。在JavaScript里,单例作为一个命名提供者,从全局命名空间提供一个唯一的访问点来访问该对象。观察者模式:观察者的使用场合就是:当一个对象的改变需要同时改变其它对象,并且它不知道具体有多少...

2019-08-02 20:12:41 732 1

原创 ES6新增特性

ES6新增特性常用的主要有:let/const,箭头函数,模板字符串,解构赋值,模块的导入(import)和导出(export,default/export),Promise,还有一些数组字符串的新方法。...

2019-08-02 20:03:12 115

原创 原生常用dom操作方法

js常用的dom操作方法有哪些?查找: getElementByid getElementByTagName quertSelector querySelectAll插入 appendChlid,insertBefore删除 removeChild克隆 cloneNode设置和获取属性:...

2019-08-02 20:00:10 153

原创 JS绑定原生事件

JS原生绑定事件主要分为三种:一是html事件处理程序二是DOM0级事件处理程序三是DOM2级事件处理程序其中:html事件现在已经基本用不到了,就是在Html标签上直接添加事件,类似于css的行内样式,缺点是不好维护,因为散落在标签中,也就是耦合度太高例如:<button onclick="事件处理函数">点我</button>第二类是DOM0级事件,目前在P...

2019-08-02 19:47:48 159

原创 JS继承(含ES6)或者两个类A,B,B如何继承A

JS继承方式有很多,主要分ES5和ES6继承的实现先说一下ES5是如何实现继承的ES5实现继承主要是基于prototype来实现的,具体有三种方式一是原型链继承:即B.prototype-new A()二是借用构造函数(call 或者 apply 的方式继承) function B(name,age) { A.call(this,name,age) }三是组合继...

2019-08-02 19:33:05 3593

原创 js中原型链的理解

原型链是理解js面向对象很重要的一点,这里主要有两点。一是_proto_,二是prototype举个例子例如:function创建一个Person类,然后用new Person 创建一个对象的实例叫p1,在Person类的原型prototype添加一个方法例如:play方法,那对象的实例p1如何查找到play方法,查找过程,具体流程是这样的:首先在p1对象实例上查找是否有play方法,如...

2019-08-02 19:21:30 111

原创 对于闭包的理解

闭包通俗的来说就是打通一条函数外部访问函数内部作用域的通道。正常情况下函数外部是访问不到函数内部作用域变量的。表象判断是不是闭包:函数嵌套函数,内部函数return 内部函数调用外层函数的局部变量优点:可以隔离作用域,不造成全局污染。缺点:由于闭包长期贮存,则长期这样会导致内存泄漏。如何解决内存泄漏:将暴露外部的闭包变量设置为null.使用场景:封装组件,轮播图,延时调用的一些功能,f...

2019-08-02 19:08:55 83

空空如也

空空如也

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

TA关注的人

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