自定义博客皮肤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)
  • 收藏
  • 关注

原创 (四)小程序学习笔记——自定义组件

默认插槽:具名插槽:组件A组件B具名插槽options: {},})在自定义的wxss文件中,不允许使用标签选择器、ID 选择器、属性选择器。请使用class类选择器。子选择器(.a>.b)只能用于view 和子组件,用于其他组件(标签)可能会导致样式失效。继承样式,例如:color、font 等都会从组件外继承。(除继承样式外)全局样式、组件所在页面的样式文件中的样式都对自定义组件 无效。

2024-04-28 18:12:30 420

原创 (三)小程序学习笔记——生命周期、API

a、wx.request()发起网络请求;wx.request请求域名必须在微信公众平台进行配置。显示loading提示框关闭loading提示框消息提示框,根据用户的某些操作来告知操作的结果,例如退出成功给用户提示;提示删除成功等。模态对话框(消息确认框),用于询问用户是否执行一些操作。例如:询问用户是否退出登录,是否删除等。

2024-04-25 16:20:19 545

原创 (二)小程序学习笔记——初识:标签、数据绑定、指令介绍

event.dataset.currentTarget或event.dataset.target中获取currentTarget:事件绑定者,哪个组件绑定了当前时间处理函数target:事件触发者,指哪个组件触发了当前事件。注意:(1)事件传参如果自定义属性是多个单词,用-(中划线)连接,例如 :data-parent-id,获取的时候使用小驼峰形式获取,event.dataset.currentTarget.parentId;

2024-04-25 16:11:24 662

原创 (十七)JS篇——小题

CSP(Content-Security-Policy)是指内容安全策略。是一种网络安全机制,主要是为了保护网站不受跨站脚本攻击(XSS)等恶意代码的影响。它通过限制网页可以加载和执行的内容来防止恶意脚本的注入。本质是建立一个白名单,告诉浏览器哪些外部资源可以加加载和执行。我们只需要配置规则,如何拦截由浏览器自己实现。开启CSP有两种方式:①设置HTTP首部的Content-Security-Policy。

2024-04-25 11:03:34 627 2

原创 (十六)call、apply、bind介绍、区别和实现

函数中的this指向是在函数被调用的时候确定的,也就是执行上下文被创建时确定的。在一个执行上下文中,this由提供,由的方式来决定。

2024-04-19 18:14:55 1044 1

转载 (十五)前端性能优化

减少HTTP请求、缓存资源、压缩代码、无阻塞、首屏加载、按需加载、预加载、压缩图像、减少Cookie、避免重定向、异步加载第三方资源。

2024-04-16 17:24:03 13

原创 (十四)跨域的理解以及问题解决

浏览器先询问服务器,当前网页所在的域名是否在服务器的许可名单之中,以及可以使用哪些HTTP动词和头信息字段。CORS(Cross-Origin Resource Sharing,跨域资源共享),允许浏览器向跨域服务器,发出XMLHttpRequest请求,从而克服了AJAX只能使用限制。①webpack代理配置,Vue脚手架创建的项目在vue.config.js文件配置以下代理。跨域请求会在正式通信之前,增加一次HTTP查询请求,称为"预检"请求(preflight)。CORS需要浏览器和服务器同时支持。

2024-04-12 18:00:28 585

原创 (一)小程序学习笔记——配置

JSON是一种轻量级的数据格式,常用于前后端数据的交互,但是在小程序中,JSON扮演的静态配置的角色,用于配置当前页面或组件的属性和行为,每个页面或组件也都可以拥有一个对应的 json 文件。app.json➡ 小程序全局配置文件,用于配置小程序的一些全局属性和页面路由。页面.json➡ 小程序页面配置文件,用于配置当前页面的窗口样式、页面标题等➡ 小程序项目的配置文件,用于保存项目的一些配置信息和开发者的个人设置➡ 配置小程序及其页面是否允许被微信索引,提高小程序在搜索引擎搜索到的概率。

2024-04-10 14:46:31 976

原创 (十三)强缓存和协商缓存的区别

浏览器的缓存策略是指浏览器在加载页面时如何使用和管理缓存机制。可以提高网页加载速度,减轻服务器负载,并提供更好的用户体验。常用的缓存策略有两种:一种是发送请求,一种是不需要发送请求。强缓存和协商缓存。当浏览器第一次发送请求后,服务器会返回缓存标识,在http1.0使用expires,http/1.1时是cache-control。当浏览器需要使用资源的时候,会去查看文件缓存标识是否过期,如果没有过期就从缓存中获取资源。expires:规定一个缓存失效时间,过了这个时间,浏览器就需要重新发送请求获取资源。

2024-04-09 15:39:57 912

原创 (十二)v-model双向绑定原理、vue 的数据双向绑定原理

vue接收一个模板和data参数。vue解析模版的时候渲染视图,初始化对行的订阅者。遍历data数据的时候初始化发布者,利用Object.defineProperty函数在get 中触发订阅器中的添加订阅者方法。当数据更新的时候再set 函数中触发订阅器中的通知函数,通过订阅器的update 方法更新视图。

2024-04-03 16:05:44 1099 1

原创 (十一)虚拟DOM一定比真实DOM快吗

虚拟Dom(Virtual-dom简称vdom)通过使用js来模拟真实的dom。它可以让我们在js 中创建、更新和删除DOM元素。所以我们可以精准的改变我们需要改变的真实DOM,而不是每一次改变都改变整个DOM,从而减少DOM开销。另外,这种通过js来控制dom 的方式就可以实现数据来改变结构。

2024-04-02 16:26:18 1155 1

原创 (十)vue生命周期详解,以及父子组件生命周期的执行顺序

beforeCreate :此时new Vue()执行完,实例初始化完成,生命周期、事件初始化完成,但此时还不能访问data 和methodscreated :vue 实例创建,数据监听、计算属性、方法和事件/监听器都已配置完毕。此时可以访问data 和methods,但是页面还没有渲染出来,此时可以调用异步方法去获取数据。beforeMount:完成对dom的初始化,虚拟dom(内存中)已生成,但是还没有真是的dom,vue还没有挂载真实dom。此时页面上还看不到真实数据 只是一个模板页面而已。

2024-03-29 18:00:04 664 1

原创 (九)JavaScript的执行上下文

执行上下文,就是代码被解析和执行时所在环境的抽象概念。JavaScript 中运行任何代码都是在执行上下文中运行。由js 引擎自动创建的对象,包含对应作用雨中的所有变量属性。

2024-03-27 14:52:58 1072

原创 (八)作用域、作用域链、闭包

例如上述例子,理论上说,foo函数作用域隔绝了外部环境,所有变量引用都在函数内部完成,foo运行完成以后,内部的变量就应该被销毁的,但是因为使用了闭包,有一个全局作用域的变量test在引用foo内部的result函数,result函数引用始终为3,垃圾运行机制就无法把它销毁。所以闭包本身会造成内部变量常驻内存。

2024-03-13 16:20:16 348

原创 (七)原型、原型链

实例对象可以共享构造函数的属性和方法,节省内存。构造函数原型上的属性和方法越多,可共用性越大,节省内存越大。

2024-03-13 14:15:48 282

原创 (六)数据类型及其判断方法

对象是保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟出一个新的空间,而变量保存的是指向对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,当通过其中一个变量修改对象的属性值时,另一个也会受到影响。检测当前实例是否属于这个类。instanceOf操作符会判断右边的值的prototype属性值是是否在左边值的原型链上,如果在返回true,否则返回false。js 中的变量都是保存在栈内存中,基本数据类型的值直接在栈中存储,值与值之间都是独立存在的,修改一个变量不会影响到其他的变量。

2024-03-12 17:24:58 838 1

原创 (五)深浅拷贝的理解

赋值的和被赋值的互不影响;浅拷贝赋值的是被复制数据或者对象的引用,复制的数据或对象通过引用指向被复制数据或者对象引用所指向的值。而当我们a[0]=1时进行数组修改时,由于a与b指向的是同一个地址,所以自然b也受了影响,这就是所谓的浅拷贝了。那,要是在堆内存中也开辟一个新的内存专门为b存放值,就像基本类型那样,岂不就达到深拷贝的效果了。bb.通过JSON对象来实现深拷贝。

2024-03-11 18:23:20 347

转载 (四)vue2与vue3的区别

vue2:vue2是把数据放入data中,在vue2中定义数据变量是data(){} ,创建的方法要在methods:{} 中。vue3:,vue3就需要使用一个新的setup()方法,此方法在组件初始化构造的时候触发。使用以下三个步骤来建立反应性数据:从vue引入reactive;使用reactive() 方法来声明数据为响应性数据;使用setup()方法来返回我们的响应性数据,从而template可以获取这些响应性数据。

2024-03-11 16:59:36 8

原创 (三)Promise对象理解、方法汇总

Promise简单说就是一个容器,里面保存这未来才会结束的事件(通常是一个异步操作的结果)

2024-03-08 17:42:32 630 1

原创 (二)Promise

1、JavaScript引擎总是会先执行同步代码,然后再执行异步代码(同步先行,异步靠后)3、微任务可以在Event Loop中插队。script是脚本,这被当作是一个宏函数。1、为什么说script是一个宏任务?2、宏任务与微任务的理解和差异。2、微任务的优先级高于供任务。3、宏任务与微任务产生的误差。4、通过一个例子加深了解。4、所有新添加的微任务。

2024-03-07 18:22:23 470 1

原创 (一)一个页面从输入 URL 到加载完成,这个过程发生了什么?

(2)DNS预获取(DNS Prefetch)(1)减少DNS请求次数。

2024-03-06 17:11:04 150 1

转载 公共组件动态路由缓存

所以缓存清除时是一块清除的。新的路由导航结束时,如果这个有key的router-view未被激活(通常这种情况会发生在有key的router-view层级较深,而当前路由层级较浅),则这个router-view依然会以当前的新key创建一个组件实例(所创建的组件实例为此router-view最后一次渲染的组件)动态路由页面,同时打开多个详情页(例:路由为/detail/:id的两个详情页/detail/1, /detail/2),当关闭/detail/1标签页时,/detail/2的页面缓存也会被清除。

2024-01-15 15:36:16 34

原创 前端缓存方式以及区别(vue项目)

cookie 浏览器存储,具有存储大小(不能大于4K)和有效期限制(vue中默认有效时间为浏览器关闭,也可以和后台交互设置有效时间来存储,也可以设置,google的setting里面,可以去找找/控制台的Application里面)1、一般vue会选择sessionStorage,因为一是vue是单页面应用,操作都是在一个页面跳转路由,二是可以保证打开页面时,sessionStorage的数据为空,而如果是localStorage则会读取上一次打开页面的数据。4、localStorage(本地存储)

2024-01-05 16:23:34 1453 1

原创 前端代码混淆webpack-obfuscator插件使用问题

使用打包后代码混淆(当时使用的webpack-obfuscator插件),使用Jekins清除工作空间后,重新install报错,

2024-01-04 17:41:29 626 1

空空如也

空空如也

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

TA关注的人

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