自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue双向绑定的原理?

原理:就是通过数据劫持结合发布订阅者模式的方式来实现的数据劫持:当我们设置或访问对象的属性时候,都活会触发object.defineproperty()函数来拦截 再返回get()或设置(set)对象属性的值,并且当数据发生改变的时候做出反应。发布订阅者模式:其定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖他的对象都将得到通知。...

2022-01-13 15:25:43 138

原创 Vue组件中data为什么是个函数?

组件中的data写成一个函数,数据以返回值的形式定义,这样对于每复用一次组件就会返回一个新的data,类似给每个组件实例创建了一个私有的数据空间,让各个实例各自维护各自的数据,如果写成对象的形式,就使得所有的组件之间共用了一个data,就会造成一个变了全部变的结果...

2022-01-13 15:19:17 223

原创 Vue中Route与Router的区别?

$router 是Vuerouter的一个对象,route的实例对象,这个对象是一个全局对象,它包含了所有的路由包含了许多关键的对象和属性,如:history对象$route 是一个跳转的路由对象,每个路由都会有一个route对象,是一个局部的对象,可以获得对应的name,path,params,query等等...

2022-01-13 15:01:39 535

原创 vue单页面的优缺点?

1.优点: 用户体验好,快,内容的改变不需要重新加载整个页面,对服务器的压力小,前后端分离,比如vue项目 完全前端组件化,前端开发不再以页面为单位,更多的采用组件化的思想,代码结构和组织更加规范化,便于修改和调整;2.缺点:不支持低版本的浏览器 首次加载页面的时候需要加载大量的静态资源,这个加载时间相对较长,不利于SEO(搜索引擎)优化,单页页面,数据在前端渲染,就意味着没有SEO; 页面导航不可用,如果一定要导航需要自行实线前进,后退(由于是单页面不能用浏览器的前进,后退功...

2021-12-16 09:14:51 3028

原创 什么是计算属性?

首先它是一种属性,其次他有计算这个特殊的性质,每次取得他的值的时候,它不像普通属性那样直接返回结果,而是经过计算后再返回结果,同时只要在它的当中引用data中的某个属性,当这个属性发送改变时,计算属性会自动计算重新执行如果我们在视图层中写了太多了逻辑 导致代码的可维护性降低计算属性的语法计算(数据处理)属性(vue实例中的一个属性) 就是可以对data中的数据进行一些数据处理 一条数据在不同位置展示出不同形态的时候语法 :写在与el data methods wat...

2021-12-15 10:19:48 2699

原创 v-text与{{}}的区别

v-text:是操作网页元素中的纯文本内容 {{}}是它的另一种写法, v-text与{{}}等价,{{}}叫模板插值,v-text叫指令区别:在渲染数据比较多的时候,可能会把大括号显示出来,俗称屏幕闪动解决屏幕闪动的方法: 1.使用v-text渲染数据 2.使用{{}}语法渲染数据,但是使用v-cloak的指令(用来保持在元素上直到关联实例结束时候进行编译),v-cloak并不需要添加到每个标签,只要在el挂载的标签上添加就可以,并且为[v-cloak]添加C...

2021-12-15 10:13:15 1918

原创 vue中常见的修饰符

按键修饰符 .up .down .ctrl .enter .space等(前面有点的,注意!!!)语法:@click.修饰符=“fn()”事件修饰符 prevent 修饰符

2021-12-15 10:01:39 96

原创 vue的单向数据流

数据从父组件传递给子组件,只能单向绑定。子组件内部不能直接修改从父组件传递来的数据,所有的props都使父子之间props之间形成一个单向下行的绑定,父级props的更新会向下流动到子组件中,但反过来则不行。每次父级组件发生更新时,子组件中所有的props都将会刷新为做新的值,这意味着不应该在子组件内部修改prop。...

2021-12-13 21:24:54 55

原创 vue的核心是什么?对vue的理解

vue的核心是数据驱动和组件化对vue的理解 定义:vue是构建用户界面的渐进式自底向上增量开发的MVVM框架,Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库和既有项目的整合,通过尽可能简单的API实线响应数据的绑定和组合的视图组件。 优点:轻量级 , 易上手 ,高效率 简单易学,文档全面而整洁。 目的:解决数据绑定问题,Vue.js主要目的是为了开发大型单页面应用,支持组件化,也就是可以把页面封装成为若干个组件,把组件进行拼装,这样...

2021-12-13 21:19:07 3452

原创 什么是jsonp,工作原理是什么?为什么不是真正的ajax?

JSONP:是一种解决跨域限制问题的一种方式工作原理:前端使用一个script标签来创建一个HTPP请求,并事先声明一个回调函数,该回调函数的名字由callback参数的参数值发送给后端,后端接收到来自前端的请求后利用callback参数的参数值和要给前端返回的数据拼接成一段js执行函数的代码段,此时实参就是要返回给前端的数据,前端接收到后端返回的结果后,会自动执行事先声明好的回调函数,此时函数的形参就代表了后端要返回的数据为什么不是真正的ajax JSONP可用于解决主浏览器的跨域...

2021-12-11 09:29:16 638

原创 请简述async的用法

async用于声明一个function是异步的,而await用于等待一个异步方法执行完成,async返回的是一个promise对象。async函数必须要等到方法体中所有的await声明promise函数执行完后,async函数才会得到一个resolve的状态的promise对象async/await在遇到异步请求的情况下,能让代码看似同步的方式解决异步回调使用步骤: 1.定义一个需要进行异步等待的方法,并在方法前加“async”关键字 2.在这个内部有异步请求的方...

2021-12-09 09:06:05 862

原创 数组去重的三种方式

穷举法function noarr(){ var newarr = [] //新数组 for(var i=0;i<arr.length;i++){ var flag=false; //假设没有重复 for(var j=0;j<newarr.length;j++){ if(arr[i]===newarr[j]){ flag=true; } }

2021-11-30 21:09:50 82

原创 请说出三种减少页面加载的时间的方式

1.优化图片2.图像格式的选择(GIF:提供的颜色较少,可用在一些对颜色要求不高的地方)3.优化css(压缩合并css)4.网址后加 / (如 www.campr.com/目录,会判断这个“目录是什么文件类型,或者 是目录)5.表明高度和宽度(如果浏览器没有找到这两个参数,那么浏览器会一边下载一边计算图片的大小,如果图片过多,浏览器需要不断地调整页面,这不但影响速度,也影响浏览体验。当浏览器知道了高度和宽度参数后,即使图片暂时无法显示,页面上也会腾 出图片的空位,然后继续加载后面的内容。从而

2021-11-30 20:56:23 1327

原创 this的指向

每个函数内部都有一个this,this的指向和函数的定义没有关系,和函数的调用有关系1.this出现在普通函数和全局作用域下,指向window对象2.this出现在事件处理函数中,指向触发事件的元素3.this出现对象方法中,指向该对象4.this出现在构造函数中,指向实例化对象...

2021-11-30 20:47:25 43

原创 为什么会造成跨域?简述同源策略

造成跨域的原因: 因为浏览器的同源政策,协议,端口,域名有一个不同就会造成跨域,比如说发送的异步请求是不同的两个源,就比如是不同的两个协议或者两个不同的域名或者不同的端口同源策略: 同源策略就是浏览器保护浏览器安全的一种机制,不允许客户端请求从A服务器请求过来的页面往B服务器发送Ajax请求。两个页面地址中的协议,域名,端口号一致,则表示同源。同源策略的数据: 1.储存在浏览器中的数据,如localStroage,cookie和indexdDB不...

2021-11-30 20:43:31 872

原创 Css预处理 sass less 是什么?为什么使用他们?

首先 Sass和less 都是css预处理,是css上的一种抽象层,是一种特殊的语法/语言最终会编译成css。less是一种动态样式语言,将css赋予了动态语言的特性,如变量,继承,运算,函数。 less既可以在客户端上运行。为什么使用? 1.结构清晰,便于扩展 2.可以方便的屏蔽浏览器私有语法差异 3.减少无意义的机械劳动,可以轻松实线多重继承 4.完全兼容css代码,可以方便的应用到老项目中...

2021-11-30 15:16:02 449

原创 普通函数和构造函数的区别?

1.返回值类型的区别: 构造函数是没有返回值类型的 普通函数有返回值类型,即使没有也要写上void2.函数名的区别: 构造函数的函数名必须和类名一直,习惯首字母大写 普通函数的函数名只需要符合标识符命名规则即可3.调用方式的区别: 构造函数实在创建对象时由new关键字调用的 普通函数是由使用对象调用的,一个对象可以多次调用普通函数4.作用上的区别: 构造函数是初...

2021-11-30 14:47:50 327

原创 什么是面向对象?

面向对象就是把问题抽象成若干的object对象,然后对这些对象编程,将对象的属性和操作封装到类中,让他们具有一定的功能。具有抽象性,功能性,封装性,继承性,多态性的特点。类就是具有共同特点或相似性质的对象的抽象,因此对象的抽象就是类,类的实例化就是对象。面向对象就是把构成问题的事物分解为各个对象,建立对象不是为了完成一个步骤,卫视为了描述某个事物在整个解决问题过程中的行为优点:易维护 复用性 扩展缺点:性能低:因为在创建类的实例化需要很大的开销...

2021-11-30 14:37:16 54

原创 JavaScript中数组有哪些(API)方法?

push(新值) 向数组的尾部插入一个新的元素pop()删除数组中的最后一个元素unshift()向数组的头部插入一个元素shift()删除数组的第一个元素splice(删除下标,1)从某个下标开始删除一个元素splice(要插入的下标,0,插入的数据)从中间插入一个元素concat()数组的拼接,返回新的数组 原数组不会改变join(分隔符)将数组转为字符串 原数组不会改变reverse()数组的逆序,改变原数组slice(开始下标,结束下标)数组的截取,原数组不会改.

2021-11-30 14:27:29 523

原创 promise的理解

promise是一种异步操作解决方案,将写法复杂的传统的回调函数和事件监听的异步操作,用同步的代码表达出来,避免了多级异步操作的回调函数嵌套。 1.主要用于异步计算 2.可以将异步操作队列化,按照期望的顺序执行,返回预期的结果 3.可以在对象之间传递和操作,promise,帮助我们处理队列.ppromise是一个对象,它的内部有三种状态。 1.初始状态(pending) 2.已完成(resolve):resolve...

2021-11-30 14:03:33 57

原创 原型/原型链/继承

原型:每一个构造函数都有一个prototype属性,这个属性会在生成实例的时候,成为实例对象的原型对象,js的每一个对象都继承另一个对象,后者成为“原型对象”。原型链:每一个对象都有一个proto属性,对象的属性和方法,有可能定义在自身,也有可能定义在他的原型对象,由于原型本身也是对象,又有自己的原型,所以形成一条原型链。(原型链的作用:读取对象的某个属性时,js引擎先寻找对象本身的属性如果找不到,就到他的原型去找,还找不到就去原型的原型去找,直到最顶层的object.prototype ,还是找不到就

2021-11-30 10:54:36 200

原创 Promise 的理解

Promise 是一种异步操作的解决方案,将写法复杂的传统的回调函数和监听事件的异步操作,用同步代码的形式表达出来。避免了多级异步操作的回调函数嵌套。1.主要用于异步计算 2.可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果 3.可以在对象之间传递和操作 promise,帮助我们处理队列Promise 是一个对象,它的内部其实有三种状态。初始状态( pending )。已完成( ...

2021-11-18 20:38:22 293

原创 本地存储与 cookie 的区别

cookie localstorage sessionStorage 数据的生命 一般有服务器生成,可设置失效时间、如果在浏览器中生成,则默认关闭浏览器失效 只要不删除或调用clear方法,就永久保存 只要不删除或调用clear方法,就永久保存 存放数据的大小 4kb 5mb 5mb 与服务器的通信 每次都携带在HTTP的头中,如果使用cookie保存数据过多会带来性能问题 不参与通信, 仅在客户端(即浏览...

2021-11-18 20:32:42 505

原创 js中var 和 let 与 const的区别

1.var 声明的变量会挂载在 window 上,而 let 和 const 声明的变量不会;2.var 声明变量存在变量提升,let 和 const 不存在变量提升;3.let 和 const 声明变量都没有函数作用域的概念,而是遵守块级作用域的概念;4.同一作用域下 let 和 const 不能声明同名变量,而 var 可以;5.let 有暂存死区(在声明之前就使用变量,就会报错,这就是暂时性死区)6.let 和 const 关键字:let 和...

2021-11-18 20:20:23 480

笔记.md

笔记.md

2021-12-09

空空如也

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

TA关注的人

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