自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HTTP理解?

例如,在网络连接不稳定或较慢的情况下,可以更多地依赖缓存的资源,减少对服务器的请求。响应传递:目标服务器接收到代理服务器转发的请求后,会像处理直接来自客户端的请求一样处理该请求,并将响应发送回代理服务器。总之,HTTP 缓存和缓存代理是提高 Web 性能和效率的重要机制,它们通过减少重复的网络请求和服务器负载,为用户提供更快的响应和更好的体验。总之,HTTP 通过不同的请求方法和数据编码格式来处理表单数据的提交,服务器端则负责解析和处理这些数据,以实现各种 Web 应用的功能。

2024-10-16 14:13:05 712

原创 const var let 区别

var:函数作用域或者全局作用域,如果在函数内部声明则变量在函数外部不能访问,如果在函数外部声明则为全局变量(在浏览器环境下挂载到。const :一旦赋值不能重新赋值,但是如果声明的是复杂数据类型,就可以改变其内部属性。var:可以进行变量提升,在声明之前使用时,变量的值为undefined。cosnt ,let 块级作用域:只能在声明它的块中有效。let const 不存在变量提升。var、let:可以多次重新赋值。

2024-10-09 16:49:35 144

原创 如何解决小程序发布之后不能访问任何请求的问题?

(1)域名白名单设置不正确:小程序需要在微信公众平台后台请求域名添加到request合法域名白名单中,否则无法发送请求,确保所有域名添加到白名单中。总之,小程序发布后无法请求要从多方面进行排查和测试,包括白名单、SSL/HTTPS配置、跨域问题、代码逻辑和网络问题。

2024-06-20 17:39:35 875

原创 计算属性和监听属性的优缺点

监听属性(watch):监听任何数据的变化,包括非响应式数据,可以在数据复杂的时候进行异步操作比如调用API,定时器。计算属性(computed):具有依赖性,具有缓存机制,只有依赖的数据发生变化时才能重新计算。缺点:计算属性不能进行异步处理操作,数据结构复杂的话,计算过程也比较复杂。监听属性会导致代码的冗余和难以维护,需要在多个地方编写相似的监听逻辑。

2024-06-20 17:33:52 96

原创 表格导出功能的实现

它首先对表格数据进行去重操作,然后复制表格元素,并在副本上移除固定列。接下来,它将副本表格转换为工作表对象,并根据表头单元格的宽度设置工作表的列宽。最后,它创建一个工作簿对象,将工作表添加到工作簿中,并将工作簿保存为 Excel 文件。整个导出过程经过逻辑整理和优化,以确保导出的数据准确、去重,并且在 Excel 中正确显示。// 创建工作簿,将工作表添加到工作簿中,并保存为 Excel 文件。// 计算表头单元格的宽度,并设置工作表的列宽。// 将表格转换为工作表。// 打印去重后的数据。

2023-09-25 14:40:05 137 1

原创 vue的单向数据流理解?

深拷贝:对于基本类型,直接复制数据值,对于引用类型,开辟新的空间,新的对象里复制一个一模一样的对象,新老对象不共享内存,修改其中一个对象的值不影响另一个对象的值。浅拷贝:对于基本类型,直接复制数据值,对于引用类型,只复制对象的引用地址,新旧对象指向同一个内存地址,修改其中一个对象的值另一个对象的值也会随之改变。在组件中直接用 v-model绑定父组件传过来的数据是不合理的,如果希望修改父组件传给子组件的值(浅拷贝):一般是引用类型。1,在父传子的情况下,父组件的数据更新,会通知子组件自动更新,

2022-11-04 19:31:19 194 1

原创 面试题:说说你对闭包的理解?

闭包:一个函数和它的词法环境的引用捆绑在一起这样的组合就形成了闭包,比如一个函数A,return出去了一个函数B,那么这个函数B可以在外部访问函数A内部的变量,此时在就形成了一个函数B的变量背包,A函数执行结束,这个变量也不会被销毁,并且这个变量背包在函数A外部只能通过函数B来访问。闭包的使用场景:模仿块级作用域,实现柯里化,在vue响应式数据observe中使用闭包,在构造函数中使用特权方法。闭包解决的问题:在函数执行结束后,函数作用域中的变量不会立即被销毁,在函数外部可以访问函数内部的局部变量。

2022-10-19 10:54:29 254

原创 react中如何使用状态提升?

{ this.setState({count: this.state.count + 1} ) }}>加1 */}{/* { this.setState({count: this.state.count + 1} ) }}>加1

2022-10-16 11:58:30 822

原创 什么时候使用状态管理器?

登录状态:首页部分,加入购物车,购物车,确认订单,地址管理。来自不同视图的行为需要变更同一个状态。购物车数量:购物车,页面底部,详情页。城市选择:页面头部,城市列表选择。多个视图依赖于同一个状态。

2022-10-16 11:43:02 148

原创 Vue Router 的query和params的区别?

区别一:区别一:(1)query相当于get请求,页面跳转的时候可以在地址栏看到请求参数(2)params相当于post请求,参数不会在地址栏中显示区别二:(1)query 刷新不会query里面的数据(2)params刷新会丢失params里面的数据。

2022-10-16 11:27:19 1514

原创 谈谈$router 和$route 的区别理解?

(2)this.$router .replace---替换历史堆栈中当前的entry,以编程式导航跳转新的URL(与push的区别是替换掉当前的路由,历史记录栈不会有被替换路由的记录)2 $route 当前路由拿到当前路由下的信息,不仅可以获取请求地址(path),还可以获取请求参数(name),以及路由的原信息meta。(4)back 如果可以的话,通过调用histroy.back() 相当于 this.$router.go(-1)(3)this.$router .go--(正数前进,负数 后退)

2022-10-16 11:06:39 151

原创 面试题:什么是跨域?出现的原因?如何解决跨域问题?

跨域:浏览器不能执行其他网页的脚步,由浏览器的同源策略造成的,是浏览器对javascript实施的安全限制,(无法跨域是浏览器对用户安全的考虑,如果自己写个没有同源策略的浏览器,完全不用考虑跨域问题)同源策略限制 Cookie,localStorage和indexDB(js面向对象的数据库)无法读取,DOM 和JS 对象无法获取,Ajax请求发送不出去。'Access-Control-Allow-Origin': 'http://www.demo1.com', // 允许访问的域(协议+域名+端口)

2022-10-16 10:40:04 446

原创 谈谈对MVVM的理解?

在MVVM这个架构下,View和Model 之间是没有直接联系的,通过View-Mode进行交互,Model和View-Mode之间的交互是双向的,因此View的数据变化会同步到Model中,Model数据改变也会立即反应到View上,View-Mode通过数据双向绑定把View和Model连接起来,而View和Model之间的同步工作是自动的,不需要人为干涉,因此开发者只需要操作业务逻辑,不需要手动操作DOM,不需要关注数据状态的同步问题,复杂的数据状态维护完全是由MVVM统一管理。

2022-10-16 09:08:57 1058

原创 面试题:computed和watch 的区别

computed是计算属性,具有依赖性,依赖其他属性值,并且computed具有缓存,只有它依赖的属性值发生改变时,下一次获取的computed才会 创新获取computed的值。watch:需要在数据变化时进行异步操作或开销较大的操作时,允许我们执行异步操作,限制执行该操作的频率,并且得到最终结果时设置中间状态,这就是计算属性无法做到的。watch:更多的是观察作用,支持异步,类似于某些数据的监听回调,每当监听数据变化时都会执行回调进行后续操作。

2022-10-10 10:23:39 195

原创 面试题:vue 中组件性能优化的思路有哪些?

2.列表渲染添加key,将元素的唯一索引作为key,可以最大化利用dom节点,提高列表渲染性能。4.多用v-show少用v-if,可以更快的实现渲染和响应,避免渲染停顿。5使用keep-alive,保持组件 间的数据缓存,避免被重新渲染。3.使用函数式组件,渲染开销低,速度快,因为函数式组件只有函数。1.组件的懒加载,当访问到某个路由时才动态加载该组件。

2022-10-07 11:54:11 438

原创 面试题:Vue 列表为什么加 key?

回答:为了性能优化 因为vue是虚拟DOM,更新DOM时用diff算法对节点进行一一比对,比如有很多li元素,要在某个位置插入一个li元素,但没有给li上加key,那么在进行运算的时候,就会将所有li元素重新渲染一遍,但是如果有key,那么它就会按照key一一比对li元素,只需要创建新的li元素,插入即可,不需要对其他元素进行修改和重新渲染。

2022-10-07 11:41:05 219

原创 v-if与v-show的区别=====》面试题

区别:v-show 控制元素无论是true还是false都会被渲染出来,通过diaplay:none控制元素隐藏。v-if控制元素是true渲染,是false不渲染,在dom树结构中不显示。v-if:用在切换不频繁,元素内容很多,渲染一次,性能消耗很大的元素上。v-show:用在切换频繁的显示或隐藏的元素上。共同点:都是控制元素显示或隐藏的指令。

2022-10-07 10:00:29 90

原创 vue2 与vue3的双向绑定------面试题

其实就是在对目标对象的操作之前提供了拦截,可以对外界的操作进行过滤和改写,修改某些操作的默认行为,这样我们可以不直接操作对象本身,而是通过操作对象的代理对象来间接来操作对象,达到预期的目的~首先将需要绑定的数据劫持方法找出来,之后用Observer监听这堆数据,如果数据发生变化,Observer就会告诉Watcher,然后Watcher会决定让那个Compiler去做出相应的操作,这样就完成了数据的双向绑定。Compiler:指定解析器,用于对数据进行解析,之后绑定指定的事件,在这里主要用于更新视图。

2022-10-06 20:25:45 267

空空如也

空空如也

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

TA关注的人

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