前端每日基础
文章平均质量分 52
每天巩固一点前端基础知识,每天进步一点点。君子终日乾乾,夕惕若厉,无咎。
modaoshi51991
这个作者很懒,什么都没留下…
展开
-
【前端每日基础】day37——为什么 Vue 中定义变量的地方需要使用 data 函数并 return 出去?
在 Vue 中,data 需要是一个函数而不是一个对象,这是为了确保每个组件实例有一个独立的数据对象。这样每个组件实例都有自己的独立的数据副本,避免不同实例之间的数据共享和相互影响。如果 data 是一个对象,那么所有的组件实例将共享这个对象,这会导致数据状态混乱。原创 2024-06-07 20:36:34 · 112 阅读 · 0 评论 -
【前端每日基础】day40——计算属性和侦听器
用于监听一个或多个数据属性的变化,并执行副作用操作。适合处理异步操作或监控数据变化执行特定逻辑的场景。结果会被缓存,只有依赖发生变化时才会重新计算。适合处理复杂逻辑并且依赖多种数据源的场景。不会缓存结果,每次数据变化都会执行。用于基于依赖数据计算新的属性值。原创 2024-06-07 20:36:23 · 112 阅读 · 0 评论 -
【前端每日基础】day38——v-for 的 diff 算法的原理
键值(key)优化:通过为每个节点设置唯一的 key,Vue 可以更高效地跟踪每个节点的变化,直接复用、移动、删除或添加节点,而不是逐个节点比较。比较旧的开始节点和新的结束节点:如果相同,说明新节点移动到了列表的末尾,需要进行 DOM 操作将旧节点移动到末尾,并移动指针。比较旧的结束节点和新的开始节点:如果相同,说明新节点移动到了列表的开头,需要进行 DOM 操作将旧节点移动到开头,并移动指针。比较新旧节点列表的开始节点:如果相同,则更新节点并移动 oldStartIdx 和 newStartIdx。原创 2024-06-06 19:37:36 · 431 阅读 · 0 评论 -
【前端每日基础】day39——v-if 和 v-for优先级
在这个例子中,v-for 指令会首先执行,将 items 数组中的每个项目都迭代一次,然后对每个项目进行 v-if 判断。为了优化性能,可以在 computed 属性中预先过滤数据,而不是在模板中使用 v-for 和 v-if 同时存在的组合。通过理解 v-if 和 v-for 的优先级,以及使用优化的方法,可以写出更高效的 Vue.js 代码。v-for 的优先级高于 v-if,即 Vue 会先处理 v-for,然后在每个迭代中应用 v-if。v-if 和 v-for 的优先级。原创 2024-06-05 20:40:26 · 254 阅读 · 0 评论 -
【前端每日基础】day44——vue2和vue3的区别
在 Vue 3 中,可以使用 Composition API,将相关的逻辑组合在一起,使代码更易于复用和维护。Vue 3 引入了 Teleport 组件,允许开发者将某个组件的 DOM 树渲染到当前组件树之外的任意位置。在 Vue 2 中,组件的逻辑通常是通过 data、methods、computed 等选项来定义的。通过这些代码实例,您可以更清晰地看到 Vue 2 和 Vue 3 之间的一些主要区别和改进。Vue 3 使用 Proxy 实现响应性系统,能够检测到对象属性的添加和删除。原创 2024-06-05 20:37:58 · 472 阅读 · 0 评论 -
【前端每日基础】day60——TDK三大标签及SEO引擎优化
TDK 是指 Title(标题)、Description(描述)、Keywords(关键词)这三个网页的重要元信息标签,对于 SEO(搜索引擎优化)至关重要。作用:Description 标签用于定义网页的描述,是搜索引擎显示在搜索结果中的网页描述文字,帮助用户了解页面内容。作用:Title 标签用于定义网页的标题,是搜索引擎显示在搜索结果中的标题文字,同时也是浏览器标签页上显示的标题。尽管 Keywords 标签的权重较低,但仍可以在其中列出网页的主要关键词,以便搜索引擎了解页面的主题。原创 2024-05-23 12:35:43 · 157 阅读 · 0 评论 -
【前端每日基础】day43——同步异步
在上述例子中,taskA 和 taskB 都是异步操作,它们不会阻塞 taskC。因此,taskC 会立即执行并输出结果,而 taskA 和 taskB 会在各自的定时器完成后输出结果。同步指的是程序中的操作按顺序执行,每个操作必须等待前一个操作完成后才能开始。在上述例子中,taskB 只有在 taskA 完成后才会执行,taskC 只有在 taskB 完成后才会执行。假设有三个任务 A、B 和 C,它们是异步执行的,任务 B 和任务 C 可以在任务 A 完成之前启动并执行。同步和异步在实际编程中的应用。原创 2024-06-04 22:16:48 · 257 阅读 · 0 评论 -
【前端每日基础】day42——关于 Vuex 共有几个属性,哪里可以书写同步任务,哪里可以书写异步任务?如果在 Vuex 中调用请求,在 Vuex 中会经历的流程大致描述一下
通过这种流程,Vuex 实现了从组件触发异步操作,到状态更新,再到组件视图更新的完整数据流动过程。异步任务:在 actions 中书写,因为 actions 可以包含异步操作,并且可以在异步操作完成后再提交 mutations 以改变状态。action 接受 context 作为参数(可以解构出 commit 和 state),在 action 中执行异步操作,如 API 请求。组件通过计算属性(或直接访问 state)监听 state 的变化,当 state 更新时,Vue 的响应式系统会自动更新视图。原创 2024-06-03 21:26:17 · 537 阅读 · 0 评论 -
【前端每日基础】day41——Vue 的生命周期
beforeMount:在挂载开始之前被调用,相关的 render 函数首次被调用。destroyed:实例销毁后调用,所有的事件监听器被移除,所有的子实例被销毁。created:实例创建完成,数据观测和事件配置已经完成,但未挂载 DOM。beforeDestroy:实例销毁之前调用。在这一步,实例仍然完全可用。beforeCreate:实例初始化之后,数据观测和事件配置之前。beforeUpdate:响应式数据更新之前被调用。mounted:实例挂载完成,DOM 渲染完成。原创 2024-06-03 20:59:54 · 98 阅读 · 0 评论 -
【前端每日基础】day36——vue组件的通信方式
在Vue.js中,组件通信是一个重要的概念,它允许组件之间进行数据传递和事件处理。Vue.js提供了多种方式来实现组件之间的通信,适用于不同的场景和需求。Vue.js提供了多种组件通信的方式,从简单的父子组件通信到复杂的跨级组件通信,每种方式都有其适用的场景。它集中式存储和管理应用的所有组件的状态,并以一种规则化的方式保证状态以一种可预测的方式发生变化。子组件可以通过$emit方法向父组件发送事件,父组件通过监听这些事件来接收数据。事件总线是一个中央事件处理器,可以用来在任意组件之间传递事件。原创 2024-06-04 22:16:12 · 2017 阅读 · 0 评论 -
【前端每日基础】day35——HTML5离线存储
LocalStorage和SessionStorage适用于简单的键值对存储,IndexedDB适用于复杂的数据存储和查询,Service Workers则提供了强大的缓存和后台处理能力。HTML5引入了一些新的特性和API来增强Web应用的功能,其中之一就是离线存储。Web SQL是一种基于SQL的数据库API,最初由WebKit项目提出,但目前已被废弃,不推荐在新项目中使用。概述:SessionStorage用于临时存储数据,数据仅在当前会话存在,关闭页面或浏览器后数据消失。在HTML中引用缓存清单。原创 2024-06-02 21:38:16 · 516 阅读 · 0 评论 -
【前端每日基础】day34——HTTP和HTTPS
HTTPS是HTTP的安全版本,通过SSL/TLS协议对数据进行加密。HTTP是无状态的,这意味着每个请求都是独立的,与之前的请求没有关系。性能:HTTPS的握手和加密过程会增加一些开销,通常比HTTP稍慢,但现代技术优化使得差异较小。加密:通过SSL/TLS协议对传输的数据进行加密,防止数据在传输过程中被窃听。无状态:每个请求与前一个请求是独立的,服务器不会记住之前的请求状态。GET:请求指定资源的信息,只获取数据,不会修改服务器上的资源。HEAD:与GET类似,但只请求资源的头部信息,不返回实际数据。原创 2024-06-02 20:40:48 · 583 阅读 · 0 评论 -
【前端每日基础】day33——响应式布局
响应式布局是一种网页设计的方法,它可以使网站在不同的设备上(如桌面电脑、平板电脑、手机等)以及不同的屏幕尺寸上呈现出最佳的显示效果。响应式布局是一种重要的网页设计方法,它使得网站能够适应不同的设备和屏幕尺寸,并提供一致的用户体验。通过设定不同的断点(breakpoint),可以在不同的屏幕尺寸上应用不同的样式,从而实现布局的变化。使用 CSS3 中的媒体查询,根据不同的媒体特性(如屏幕宽度、高度、方向等)来应用不同的样式。这可以使得网页在不同屏幕尺寸上展示不同的内容或功能,以提供更好的用户体验。原创 2024-06-01 15:17:42 · 374 阅读 · 0 评论 -
【前端每日基础】day32——节流和防抖
节流(Throttle)和防抖(Debounce)是两个在前端开发中常用的技术,它们用于控制某些函数的执行频率,以提升性能和用户体验。也就是说,如果在这段时间内再次调用该函数,则重新计时,只有在这段时间结束后,函数才会被执行。通过合理使用节流和防抖技术,可以有效提升前端应用的性能和用户体验,避免不必要的资源浪费和重复执行。防抖适用于那些在一段时间内会频繁触发的事件,但又希望最终只执行一次的场景。防抖:在一定时间内不再触发,若在这段时间内再次触发,则重新计时。防抖适用于频繁触发但只需执行一次的场景。原创 2024-06-01 09:43:19 · 488 阅读 · 0 评论 -
【前端每日基础】day31——uni-app
掌握其基本概念、项目结构、常用组件和 API、生命周期以及常见问题和解决方案,可以帮助你快速上手并开发出高质量的应用。在实际开发中,熟练使用 HBuilderX 和 Vue.js,将大大提高你的开发效率。使用表单组件(如 、 等),并通过 @submit 事件监听表单提交,使用 uni.request 发送数据到后台。在 components 目录下创建自定义组件文件,并在页面中引入和注册组件。onLaunch:应用初始化时触发,全局只触发一次。onShow:页面显示时触发。onHide:页面隐藏时触发。原创 2024-05-30 09:42:45 · 1401 阅读 · 0 评论 -
【前端每日基础】day30
嵌入其他网站内容: < iframe> 允许开发者将其他网站的内容嵌入到自己的页面中,这在一些应用场景中非常有用,比如集成第三方服务或显示外部内容。影响浏览器历史和书签: 如果用户在 < iframe> 中浏览其他页面,并且在其中进行了导航或标记了书签,这可能会导致用户的浏览器历史和书签混乱。跨域通信: < iframe> 可以用于实现不同域之间的通信。可访问性问题: < iframe> 中的内容对于一些屏幕阅读器和搜索引擎可能不可见,这可能会影响网站的可访问性和 SEO。iframe的优点和缺点?原创 2024-05-25 09:54:42 · 233 阅读 · 0 评论 -
【前端每日基础】day29
strong>标签:也用于将文本设置为粗体,但它具有语义上的含义,表示文本的重要性或强调内容。< em>标签:也用于将文本设置为斜体,但它具有语义上的含义,表示强调文本。< h1>标签:是HTML中用于定义最高级别的标题的标签,通常表示文档的主要标题或内容的第一个标题。< b>标签:是HTML中用于将文本设置为粗体的标签,它没有特定的语义含义,仅仅是用来呈现粗体文本。< i>标签:用于将文本设置为斜体,但没有特定的语义含义,仅仅是用来呈现斜体文本。原创 2024-05-16 19:55:33 · 103 阅读 · 0 评论 -
【前端每日基础】day28——async/await
await 关键字只能在 async 函数中使用。它会暂停 async 函数的执行,等待一个 Promise 对象的解决(或拒绝),然后继续执行函数,并返回 Promise 解决的值。async/await 是ES2017(ES8)引入的用于处理异步操作的语法糖,基于Promise实现。await 只能在 async 函数中使用:在 async 函数之外使用 await 会导致语法错误。避免阻塞:虽然 async/await 使得代码看起来像同步代码,但它仍然是异步的,不会阻塞事件循环。原创 2024-05-29 21:39:48 · 500 阅读 · 0 评论 -
【前端每日基础】day27——小程序开发
设备API:wx.getSystemInfo、wx.getNetworkType、wx.scanCode。数据缓存API:wx.setStorage、wx.getStorage、wx.clearStorage。界面API:wx.showToast、wx.showLoading、wx.navigateTo。网络API:wx.request、wx.uploadFile、wx.downloadFile。使用 wx.setStorage 和 wx.getStorage 对数据进行本地存储和读取。原创 2024-05-29 21:42:28 · 1181 阅读 · 1 评论 -
【前端每日基础】day26——Promise
Promise.all 方法接收一个Promise数组,当所有Promise都解决时,返回一个已解决的Promise;如果有一个Promise被拒绝,则返回一个已拒绝的Promise。可以使用 then 方法来处理已解决状态的Promise结果,使用 catch 方法来处理已拒绝状态的Promise结果。Promise.reject 方法返回一个已拒绝的Promise对象。Promise.race 方法接收一个Promise数组,当第一个Promise解决或拒绝时,返回一个新的Promise。原创 2024-05-28 19:44:57 · 621 阅读 · 0 评论 -
【前端每日基础】day25——事件处理
这个示例展示了如何使用DOM操作和事件处理来创建一个简单的交互式网页,用户可以点击按钮来改变标题的颜色或添加新段落,并且点击列表项时会弹出一个提示框。鼠标事件:click、dblclick、mouseover、mouseout、mousemove、mousedown、mouseup。事件委托是一种将事件监听器添加到父元素上,通过检查事件目标来处理子元素事件的方法。表单事件:submit、change、input、focus、blur。窗口事件:load、resize、scroll、unload。原创 2024-05-28 19:23:51 · 424 阅读 · 0 评论 -
【前端每日基础】day24——DOM操作
document.getElementsByClassName(className): 获取具有指定类名的所有元素,返回HTMLCollection。document.getElementsByTagName(tagName): 获取具有指定标签名的所有元素,返回HTMLCollection。document.querySelectorAll(selector): 获取匹配CSS选择器的所有元素,返回NodeList。要对网页中的元素进行操作,首先需要获取这些元素。原创 2024-05-27 21:18:18 · 465 阅读 · 0 评论 -
【前端每日基础】day23——箭头函数
箭头函数是ES6(ECMAScript 2015)引入的一种新的函数表达式语法。相比传统函数,箭头函数有简洁的语法,并且不绑定自己的this、arguments、super或new.target。箭头函数最显著的特点之一是它不会创建自己的this上下文,而是从其外层上下文中继承this。简洁的函数表达式:当需要简洁的函数表达式时,箭头函数提供了更为简便的语法。保持this的上下文:在需要访问外层this的情况下,箭头函数非常适合。简化回调函数:箭头函数在编写简短的回调函数时特别有用。原创 2024-05-27 21:09:18 · 343 阅读 · 0 评论 -
【前端每日基础】day22——js控制结构
in 循环中,你可以使用任何有效的变量名称来代替 key,循环的行为和效果不会改变。这个变量每次迭代时都会被赋值为对象的一个属性名,你可以通过 obj[变量名] 访问对应的属性值。至少执行一次代码块,然后在条件为真时继续执行。适用于至少需要执行一次的情况。当条件为真时重复执行代码块,适用于循环次数不确定但条件明确的情况。下面是一个示例,结合使用 if 语句和循环语句。跳过当前循环的剩余部分,继续下一次循环。跳出循环或 switch 语句。跳转语句用于控制代码的跳转。用于遍历对象的属性。原创 2024-05-26 16:01:37 · 276 阅读 · 0 评论 -
【前端每日基础】day21——js基础运算符
JavaScript 提供了丰富的运算符,用于执行各种操作,如算术运算、比较、逻辑运算等。以下是 JavaScript 中的主要运算符及其用法。其实运算符大体上各语言都大差不差,顶多是部分小细节会有不同,简单看看就好了。原创 2024-05-26 16:01:25 · 764 阅读 · 0 评论 -
【前端每日基础】day20 link与@import
而@import指令则更适合在CSS文件中使用,用于在其他CSS文件中引入样式表,但要注意它的一些限制,如性能影响和兼容性问题。< link>标签是HTML标签,用于在HTML文件中引入外部资源,例如CSS文件、favicon、关联文件等。由于< link>标签是在HTML中使用的,因此可以通过JavaScript动态创建和插入< link>标签,实现在页面加载后再加载外部资源的效果,从而实现按需加载CSS文件的目的。它是在CSS文件的顶部,而不是在HTML中使用的,并且只能引入一个外部样式表。原创 2024-05-15 20:44:05 · 159 阅读 · 0 评论 -
【前端每日基础】day19——回调函数
虽然回调函数在处理异步操作时非常方便,但当多个异步操作依赖于上一个操作的结果时,会产生回调地狱(Callback Hell)的问题,导致代码难以维护和理解。在这个示例中,asyncFunction1 的结果作为参数传递给 asyncFunction2,asyncFunction2 的结果又作为参数传递给 asyncFunction3,依此类推,形成了多层嵌套的回调函数。回调函数是一种常见的编程概念,它是指在函数执行完毕后,将另一个函数作为参数传递给它,以便在特定条件满足时调用这个函数。原创 2024-05-25 09:53:11 · 547 阅读 · 0 评论 -
【前端每日基础】day18——css清除浮动
在CSS中,浮动(float)是一种常见的布局技术,但它常常导致父容器的高度无法自动扩展以包含浮动的子元素。通过给父容器设置 overflow: hidden 或 overflow: auto,可以强制其包含浮动的子元素。在使用CSS Flexbox布局时,父容器会自动包含浮动子元素,因此不需要额外清除浮动。这是更现代的clearfix实现,通过添加伪元素来清除浮动。然后在需要清除浮动的父容器上应用 clearfix 类。Flexbox可以简化布局,减少对清除浮动的需求。同样地,在父容器上应用该样式。原创 2024-05-24 18:01:44 · 492 阅读 · 0 评论 -
【前端每日基础】day17——雪碧图
雪碧图(Sprite)是一种在Web开发中常用的图像合并技术,将多个小图标或图片合并成一张大图,然后通过CSS来显示其不同部分。创建了雪碧图后,可以通过CSS来显示其不同部分。减少HTTP请求:合并多个小图片成一张大图,可以显著减少浏览器对服务器的请求次数,从而提升页面加载速度。缓存效率:由于合并后的大图通常不会频繁变化,浏览器可以缓存这张图,从而进一步减少加载时间。性能优化:通过减少请求和提升缓存效率,整体页面性能可以得到提升。Gulp/ Grunt:自动化构建工具,可以通过插件生成雪碧图。原创 2024-05-19 09:47:12 · 417 阅读 · 0 评论 -
【前端每日基础】day16——回流和重绘
它是一个代价高昂的操作,因为它不仅会重新计算目标元素,还可能影响其所有子元素、父元素和兄弟元素。访问某些属性(如offsetHeight, offsetWidth, scrollTop, scrollLeft等)会强制浏览器执行回流,以确保返回正确的值。修改元素的CSS属性,如width, height, margin, padding, border, top, left等。使用table元素会导致更多的回流,因为它们的布局依赖于其内容。使用JavaScript修改元素的样式。原创 2024-05-23 12:36:00 · 414 阅读 · 0 评论 -
【前端每日基础】day15——错误监控
错误监控在现代Web应用和软件开发中是至关重要的,它可以帮助开发者快速发现、定位和修复问题,从而提升用户体验和系统稳定性。Sentry, New Relic, Datadog:这些工具可以集成到服务器端应用中,监控错误和性能。即时通讯工具通知:使用 Slack、Microsoft Teams 或其他工具的 API 实现即时通知。仪表盘和报表:使用Grafana、Kibana等工具可视化错误数据和系统性能。前端错误监控:捕获和记录JavaScript错误。Sentry:捕获和跟踪前端应用中的错误。原创 2024-05-22 13:07:51 · 141 阅读 · 0 评论 -
【前端每日基础】day14 ——同源和跨域
同源策略(Same-Origin Policy, SOP)是一种重要的安全机制,用于防止不同源的脚本在浏览器中相互访问,确保用户数据的安全。同源策略规定,只有当一个页面与另一个页面具有相同的协议、域名和端口时,才能访问彼此的资源。浏览器在发出跨域请求时,会先发送一个预检请求(OPTIONS 方法),服务器根据请求头决定是否允许该请求。由于同源策略的限制,Web 开发中常常需要跨域请求来实现不同域之间的数据交换。使用场景:适用于嵌套页面之间的通信,如父页面和子 iframe 之间的数据传递。原创 2024-05-19 09:47:32 · 233 阅读 · 0 评论 -
【前端每日基础】day13——js数组对象
当我们谈论 JavaScript 中的数组时,我们指的是一种特殊的对象,用于存储一系列有序的数据。JavaScript 中的数组是一种动态的数据结构,可以容纳任意类型的数据,包括数字、字符串、对象、甚至是其他数组。可以使用 push()、pop()、unshift()、shift() 方法来添加或删除数组中的元素。可以使用 length 属性来获取数组的长度,也可以通过修改 length 属性来改变数组的长度。数组中的数据被称为数组元素,它们可以是任意类型的数据,包括数字、字符串、对象、布尔值等。原创 2024-05-21 15:30:25 · 214 阅读 · 0 评论 -
【前端每日基础】day12——js对象
我Java学的比较多,用的也比较多,所以当得知JavaScript 的数组在概念上不同于像 Java 这样的静态类型语言中的数组,在 JavaScript 中,数组是一种特殊的对象,它的元素可以是任意类型的数据,包括数字、字符串、对象,我是很震惊的。这使得对象成为一种非常灵活和强大的数据结构,用于表示复杂的数据和组织程序中的代码。对象中的数据以键值对的形式存在,键是字符串类型,值可以是任意类型的数据。对象中的属性也可以是函数,这样的属性通常被称为方法。可以使用点符号或者方括号来访问对象的属性。原创 2024-05-17 07:56:18 · 362 阅读 · 0 评论 -
【前端每日基础】day11——事件冒泡
事件冒泡是指当一个事件发生在某个元素上时,该事件会沿着DOM树向上传播到祖先元素。在上述代码中,点击子元素时,只会触发子元素的点击事件,不会触发父元素的点击事件,因为事件冒泡被阻止了。stopPropagation() 方法可以阻止事件向上传播到祖先元素。使用 stopPropagation()原创 2024-05-18 09:25:47 · 305 阅读 · 0 评论 -
【前端每日基础】day10——默认事件
在上述代码中,点击链接时不会触发父元素的点击事件,也不会导航到新的页面,因为事件冒泡和默认行为都被阻止了。默认事件是指浏览器在某些用户交互后会自动执行的操作。例如,点击链接会导航到新的页面,提交表单会刷新页面。preventDefault() 方法可以阻止浏览器执行默认行为。使用 preventDefault()// 阻止链接的默认跳转行为。原创 2024-05-18 09:25:19 · 313 阅读 · 0 评论 -
【前端每日基础】day9——函数的定义
函数声明:使用 function 关键字直接声明函数,后面跟着函数名和函数体。函数声明语句不是一个完整的语句,但是会被 JavaScript 解析器提升(hoist)到当前作用域的顶部,因此可以在声明之前调用。函数表达式:将函数赋值给变量,函数可以是匿名的,也可以有名称。这种方式创建的函数被当做一个值来对待,因此需要在赋值运算符(等号)的右侧,而不是在语句的左侧。在 JavaScript 中,函数可以通过两种方式来定义:函数声明和函数表达式。原创 2024-05-14 08:47:29 · 193 阅读 · 0 评论 -
【前端每日基础】day8—— src和href
在 < a>(锚点)、< link>(样式表链接)、< area>(图像映射区域)、< base>(基准链接)等元素中,href 属性通常用于指定目标资源的 URL。在 < img >、< audio >、< video >、< iframe > 等元素中,src 属性通常用于指定要加载的外部资源的地址。src 属性用于指定外部资源的地址,比如图像、音频、视频、嵌入框架等的地址。href 属性用于指定超链接的目标地址,用于创建网页间的链接。原创 2024-05-13 19:11:46 · 120 阅读 · 0 评论 -
【前端每日基础】day7——css常见样式
sticky:粘性定位,元素在滚动时表现为相对定位,但当其到达某个阈值(通常是距离顶部一定距离时)时会变为固定定位。inline-block:元素呈行内块显示,与inline类似,但可以设置宽度和高度。relative:相对定位,元素相对于其正常位置进行偏移,不会影响其他元素的布局。fixed:固定定位,元素相对于视窗进行定位,即使页面滚动,元素也不会移动。inline:元素呈行内显示,宽度和高度由内容决定,并且元素之间不会换行。absolute:绝对定位,元素相对于其最近的已定位祖先元素进行定位。原创 2024-05-14 08:46:17 · 287 阅读 · 0 评论 -
【前端每日基础】day6——localStorage、sessionStorage、cookie
通常情况下,网站会为每个用户分配一个唯一的会话标识符(Session ID),并将这个标识符保存在 Cookie 中或者通过 URL 参数传递,以便在用户的不同请求之间识别并管理会话状态。localStorage 和 sessionStorage 的数据存储在客户端,不会与服务器进行交互,因此对服务器没有负担。cookie:可以设置过期时间,可以在设置的过期时间之前一直存在,也可以设置为会话级别的,即关闭浏览器后清除。sessionStorage:存储的数据只在当前会话期间有效,会话结束后数据会被清除。原创 2024-05-13 10:36:36 · 1054 阅读 · 0 评论