当前位置: 首页 > news >正文

常见门户网站的基本功能小学网站怎么做

常见门户网站的基本功能,小学网站怎么做,企业网站管理系统手机版教程,建筑工程有限公司电话面试题记录 一.Vue中的合成事件和原生事件有哪些区别。二.parseint(3,2)返回什么值#xff1f;为什么三.什么是闭包四.vue3和vue2区别有哪些五.vue3 响应式原理 双向绑定原理1. 响应式原理#xff1a;2. 双向绑定原理#xff1a;Vue3 中双向绑定的原理#xff1a;下面是 Vu… 面试题记录 一.Vue中的合成事件和原生事件有哪些区别。二.parseint(3,2)返回什么值为什么三.什么是闭包四.vue3和vue2区别有哪些五.vue3 响应式原理 双向绑定原理1. 响应式原理2. 双向绑定原理Vue3 中双向绑定的原理下面是 Vue2 中双向绑定的完整图解 六. vue 如何优化首页加载速度七. 从浏览器输入URL到页面渲染的过程主要包括以下几个步骤八.webpack打包流程图九.vuex 工作流程 一.Vue中的合成事件和原生事件有哪些区别。 触发方式合成事件是由Vue框架封装的通过绑定在Vue组件的事件指令上来触发例如click、input等。而原生事件是直接通过DOM元素上的事件监听器来触发例如addEventListener。 事件对象合成事件中的事件对象是Vue框架自己创建的它是对原生事件对象的封装提供了一些额外的属性和方法。而原生事件中的事件对象是浏览器提供的具有浏览器原生的属性和方法。 跨平台兼容性合成事件是Vue框架对不同浏览器的事件处理逻辑进行统一封装使得开发者不需要关心浏览器兼容性问题。而原生事件需要开发者自己处理跨浏览器的兼容性问题。 性能优化合成事件经过Vue框架的优化处理可以提高性能。Vue会对事件进行批量处理减少不必要的重绘和重排操作。而原生事件没有经过Vue的优化处理可能会导致性能问题。 总的来说合成事件相对于原生事件更加方便和易用尤其在Vue组件中使用时更为常见。但在某些特殊情况下如果需要更精细的控制或处理跨浏览器兼容性问题可以使用原生事件。 二.parseint(3,2)返回什么值为什么 parseInt(3, 2)会将字符串3按照进制数2进行解析。 在进制数为2的情况下只能使用0和1来表示数字。而字符串3中包含的字符3并不是有效的二进制数字因此解析失败parseInt会返回NaN。 如果你想将字符串3解析为整数可以使用parseInt(3)它会使用默认的十进制进行解析返回结果为3。 三.什么是闭包 闭包是指在函数内部定义的函数并且可以访问外部函数的变量和参数。 闭包可以保留外部函数的状态使得函数可以继续操作外部函数的局部变量即使外部函数已经执行完毕。闭包可以实现某些特殊的功能如函数工厂、函数记忆等。在JavaScript中闭包是一种常见的编程方式。 四.vue3和vue2区别有哪些 Vue 3相对于Vue 2有一些重要的区别和改进 性能提升Vue 3在内部进行了重写和优化提供了更好的性能。新的响应式系统使用了Proxy代理对象取代了Vue 2中的Object.defineProperty使得数据响应式更新更高效。 更小的体积Vue 3通过优化和摇树优化tree shaking等方式减少了打包后的文件体积提供了更小的文件大小。 Composition APIVue 3引入了Composition API它允许开发者通过逻辑组合的方式组织和重用组件逻辑。相比Vue 2中的Options APIComposition API提供了更灵活和可组合的方式来编写组件。 TeleportVue 3引入了Teleport传送门功能它可以将组件的内容渲染到DOM结构的不同位置使得组件的渲染更加灵活和可控。 FragmentVue 3引入了Fragment片段功能它允许组件返回多个根元素而不需要包裹在一个额外的父元素中。 更好的TypeScript支持Vue 3对TypeScript的支持更加完善包括更准确的类型推断、更好的编辑器支持和更好的错误提示。 其他改进Vue 3还包括了其他一些改进如更好的响应式API、更好的虚拟DOM算法等提供了更好的开发体验和更高的性能。 五.vue3 响应式原理 双向绑定原理 Vue 3响应式原理和双向绑定原理是Vue框架中的核心概念之一。下面我会为您解释这两个概念并附上相应的图解。 1. 响应式原理 Vue 3使用了一种称为Proxy的新特性来实现响应式原理。在Vue 2中使用的是Object.defineProperty来追踪属性的变化。而在Vue 3中通过Proxy可以更加直接和细粒度地进行属性的追踪。 当我们将一个对象传递给Vue的响应式系统时Vue会使用Proxy来监听该对象。一旦对象的属性发生变化Vue会立即检测到并触发相应的更新。这意味着我们可以在Vue的模板中使用这些属性当属性变化时模板也会相应地被更新。 下面是一个图示展示了Vue 3响应式原理的流程 -------------------| || Template || |-------------------|V-------------- --------------------------| | 1. Update | || Object |----------- | Vue Reactive || | 2. Notify | |-------------- --------------------------|V-------------------| || DOM || |-------------------完整图解 包括数据更新 视图更新的图解 下面是一个更完整的图示展示了 Vue3 响应式原理中数据更新和视图更新的过程 ------------------| Normal Object |------------------||v------------------| Proxy Object |------------------||v-------------------------------| Reactive System |-------------------------------| || ------------- || | Dependency | || | Tracking | || ------------- || | || | || v || ------------- || | Dependency | || | Collection| || ------------- || | || | || v || ------------- || | Update | || | Trigger | || ------------- || | || | || v || ------------- || | View | || | Update | || ------------- || |-------------------------------在这个图示中我们可以看到完整的响应式系统包括以下几个步骤 创建一个普通对象并将其转换为 Proxy 对象。Proxy 对象用于拦截属性的访问和修改操作。 当我们访问 Proxy 对象的属性时会触发 Dependency Tracking依赖追踪的过程。这时系统会记录当前正在执行的副作用函数并将其添加到属性的依赖集合中。 在 Dependency Collection依赖收集的过程中系统会将副作用函数添加到属性的依赖集合中。这里使用了 Map 来存储属性的依赖集合其中键是属性名值是一个 Set 集合用于存储依赖的副作用函数。 当属性发生变化时系统会触发 Update Trigger更新触发的过程。这时系统会遍历属性的依赖集合通知相关的副作用函数进行更新。 在 View Update视图更新的过程中相关的副作用函数会重新执行从而更新视图。 通过这些步骤的协作Vue3 的响应式系统能够实现对对象属性的监听和追踪当属性变化时会自动触发相应的更新操作保持视图与数据的同步。 2. 双向绑定原理 Vue3 的双向绑定原理与 Vue2 相比有一些不同之处。下面是一个完整的图示展示了 Vue3 中双向绑定的原理 User Input View Update----- --------| | | || | | |v | v |-------------- | -------------- || Template | | | Reactive | || (Declarative) | | System | || | | | | |-------------- | -------------- |^ | | | | | | || | | |Data Flow | ----------- || || |v |-------------- || State | || (Reactive) | || | |-------------- |||Data Flow |||v-----------------------------------| View || (Rendered HTML) || |-----------------------------------在这个图示中我们可以看到双向绑定的过程 在模板中我们通过指令或插值表达式将数据和视图关联起来。用户可以通过输入框等交互元素改变数据。 用户的输入会通过数据流Data Flow进入到数据状态State中。这里的数据状态是响应式的对象内部使用了 Vue3 的响应式系统。 在数据状态中数据的变化会触发 Reactive System响应式系统中的监听机制。此时系统会追踪变化的数据并通知相关的副作用函数进行更新。 更新的副作用函数会负责更新视图。通过重新执行模板中的渲染函数视图将会被更新以反映最新的数据状态。 反过来当视图发生变化时通过双向绑定的机制会更新数据状态。这样用户的输入和数据状态之间就建立了一个双向的绑定关系。 通过这个双向绑定的机制Vue3 实现了视图和数据的自动同步使得当用户输入或数据状态发生变化时视图和数据能够保持一致。这大大简化了开发过程提高了开发效率。 下面是 Vue2 中双向绑定的完整图解 User Input View Update----- --------| | | || | | |v | v |-------------- | -------------- || Template | | | Observer | || (Declarative) | | (Reactivity) | || | | | | |-------------- | -------------- |^ | | | | | | || | | |Data Flow | ----------- || || |v |-----------------------------------| View || (Rendered HTML) || |-----------------------------------在这个图示中我们可以看到双向绑定的过程 在模板中我们通过指令或插值表达式将数据和视图关联起来。用户可以通过输入框等交互元素改变数据。 用户的输入会通过数据流Data Flow进入到数据模型中。数据模型是一个普通的 JavaScript 对象。 在数据模型中我们使用 Observer观察者模式来监听数据的变化。当数据发生变化时观察者会通知相关的订阅者进行更新。 订阅者负责更新视图。通过重新执行模板中的渲染函数视图将会被更新以反映最新的数据状态。 反过来当视图发生变化时通过双向绑定的机制会更新数据模型。这样用户的输入和数据模型之间就建立了一个双向的绑定关系。 通过这个双向绑定的机制Vue2 实现了视图和数据的自动同步使得当用户输入或数据模型发生变化时视图和数据能够保持一致。然而Vue2 的双向绑定是基于 Object.defineProperty() 来实现的需要对数据进行劫持和监听因此在性能上有一定的开销。而在 Vue3 中使用了 Proxy 对象来实现响应式系统性能更高效。 六. vue 如何优化首页加载速度 要优化Vue的首页加载速度和项目性能可以采取以下几个步骤 代码压缩和打包使用工具如Webpack对代码进行压缩和打包减小文件大小提高加载速度。 使用异步组件将页面中的组件按需加载而不是一次性加载所有组件可以减少初始加载时间。 路由懒加载将路由按需加载只在需要时加载对应的组件可以减少初始加载时间。 图片懒加载将图片的加载延迟到图片即将进入可视区域时再加载可以减少初始加载时间。 使用CDN加速将静态资源如CSS、JS文件部署到CDN上可以加快资源加载速度。 代码拆分将大型的代码块拆分成小的模块按需加载提高页面渲染速度。 使用缓存合理利用浏览器缓存机制将一些静态资源缓存到本地减少重复加载。 优化网络请求减少HTTP请求次数合并请求使用HTTP缓存等方式来优化网络请求。 使用Vue的生命周期钩子函数合理使用Vue的生命周期钩子函数可以在适当的时机进行一些操作如数据的预加载等。 优化渲染性能避免在模板中使用复杂的表达式和计算减少虚拟DOM的生成和比对的次数提高页面渲染性能。 七. 从浏览器输入URL到页面渲染的过程主要包括以下几个步骤 DNS解析浏览器根据URL中的域名向DNS服务器查询该域名对应的IP地址。 建立TCP连接浏览器与服务器建立TCP连接进行数据传输。 发送HTTP请求浏览器向服务器发送HTTP请求请求页面的HTML文件。 服务器处理请求服务器接收到请求后进行处理生成HTML文件。 返回响应服务器将生成的HTML文件作为HTTP响应返回给浏览器。 解析HTML浏览器解析HTML文件构建DOM树。 加载资源浏览器根据HTML文件中的链接标签如CSS、JS文件等向服务器发送请求加载对应的资源文件。 渲染页面浏览器根据DOM树和CSS样式进行页面渲染将页面呈现给用户。 在这个过程中可以通过优化网络请求、资源加载、渲染性能等方面来提高页面加载速度和性能。 以下是一些通过优化网络请求、资源加载和渲染性能来提高页面加载速度和性能的方法 减少HTTP请求次数合并和压缩CSS和JavaScript文件使用CSS Sprites来减少图片请求次数减少页面中的外部资源加载。 使用CDN加速将静态资源如图片、CSS、JavaScript文件部署到CDN上利用CDN的分布式网络来加速资源的传输。 使用缓存合理设置缓存策略将静态资源缓存到本地减少重复加载。可以使用HTTP的缓存机制或者通过使用localStorage或sessionStorage来缓存数据。 延迟加载对于非关键内容可以使用懒加载技术延迟加载图片、视频等资源当用户滚动到需要显示的区域时再加载。 使用异步加载对于不影响页面渲染的资源如统计代码、广告等可以使用异步加载不阻塞页面的加载和渲染。 压缩资源文件压缩CSS和JavaScript文件减小文件大小提高加载速度。可以使用工具如Webpack进行压缩和打包。 使用图片压缩对于图片资源可以使用压缩工具如TinyPNG来减小文件大小提高加载速度。 使用浏览器缓存合理设置HTTP响应头中的缓存相关字段利用浏览器缓存来减少请求和传输时间。 优化渲染性能避免在模板中使用复杂的表达式和计算减少虚拟DOM的生成和比对的次数提高页面渲染性能。 使用Vue的异步组件和路由懒加载按需加载组件和路由减少初始加载时间。 延迟执行JavaScript将不必要的JavaScript代码延迟执行优先加载和渲染页面的关键内容。 使用gzip压缩服务器端开启gzip压缩减小传输文件大小。 通过以上优化措施可以有效减少网络请求次数、减小文件大小、利用缓存等方式来提高页面加载速度和性能。 八.webpack打包流程图 下面是一个更完整的Webpack打包过程图解包含了更多的细节步骤和插件 ---------------| 入口文件 || (entry) |---------------||V-----------------| 加载器处理 || (Loaders) |-----------------||V---------------------| 依赖解析 || (Dependency || Resolution) |---------------------||V--------------------| 模块加载 || (Module || Loading) |--------------------||V----------------| 代码转换 || (Code || Transformation)|----------------||V-------------------| 依赖图构建 || (Dependency || Graph || Construction) |-------------------||V--------------------| 模块编译 || (Module || Compilation) |--------------------||V---------------| 打包输出 || (Bundle || Output) |---------------这个完整的Webpack打包过程图与简化版的图相似但更详细地展示了各个步骤之间的关系并添加了加载器处理Loaders步骤。加载器用于在模块加载前对文件进行预处理以支持更多类型的文件和语法。除了加载器处理其他的步骤和插件都在流程图中得到了更明确的展示。 需要注意的是Webpack的打包过程非常灵活并且可以通过配置文件自定义和扩展。因此具体的打包过程可能会因为项目的需求而有所差异。然而流程图中展示的是Webpack的基本打包过程可以作为理解Webpack的起点。 九.vuex 工作流程 Vuex 是 Vue.js 的官方状态管理库它用于管理应用程序的状态。下面是 Vuex 的工作流原理 在 Vuex 中我们首先定义一个状态树State Tree它是一个包含所有应用程序级别状态的对象。状态树可以被认为是应用程序的单一数据源。 在状态树中我们可以定义多个模块Modules每个模块负责管理特定的状态。模块可以嵌套形成一个层级关系。 在模块中我们定义了状态State它是我们要管理的数据。状态可以通过 Vuex 提供的辅助函数进行访问和修改。 当需要修改状态时我们使用 Mutations变更来进行同步修改。Mutations 是一个纯函数它接收一个状态对象和一个负载Payload并对状态进行同步修改。 为了实现异步操作我们可以使用 Actions动作。Actions 接收一个上下文对象Context它包含了与 Mutations 类似的方法但可以进行异步操作。在 Actions 中我们可以执行异步任务然后再通过提交 Mutations 来修改状态。 当状态发生变化时我们可以使用 Getters获取器来派生出新的状态。Getters 是一个类似于计算属性的概念它可以对状态进行一些计算和过滤然后返回一个新的派生状态。 最后我们可以通过订阅 Store 的变化来响应状态的变化。当状态发生变化时我们可以执行一些副作用操作比如更新视图或触发其他逻辑。 通过这个工作流Vuex 提供了一种统一的方式来管理应用程序的状态。它使得状态的变化更加可追踪和可预测同时也提供了一些方便的工具和辅助函数来简化状态的管理和操作。 以下是一个简单的图解展示了 Vuex 的工作流原理 ----------------------------------| || Vue Components || |----------------------------------| ^| |v |----------------------------------| || Actions Getters || |----------------------------------| ^| |v |----------------------------------| || Mutations || |----------------------------------| ^| |v |----------------------------------| || State || |----------------------------------在这个图示中我们可以看到 Vuex 的工作流程 Vue 组件是应用程序的界面部分它们可以通过读取和修改状态来与用户进行交互。 Actions 和 Getters 是用于处理异步操作和派生状态的函数。Actions 可以执行异步任务并通过提交 Mutations 来修改状态。Getters 可以对状态进行计算和过滤然后返回一个新的派生状态。 Mutations 是用于同步修改状态的函数。它接收一个状态对象和一个负载Payload并对状态进行同步修改。 State 是我们要管理的数据。它包含了应用程序的所有状态并可以通过 Vuex 提供的辅助函数进行访问和修改。 通过这个工作流Vuex 提供了一种统一的方式来管理应用程序的状态。它使得状态的变化更加可追踪和可预测同时也提供了一些方便的工具和辅助函数来简化状态的管理和操作。
http://www.zqtcl.cn/news/625608/

相关文章:

  • 公司网站怎么做才高大上大数据营销的含义
  • 做网站点做关于什么的网站
  • 网站建设服务费税率多少汕头模板建站流程
  • 网站 建设实验小结做淘宝客优惠券网站还是APP赚钱
  • 付银行的网站建设费的会计科目网站建设前端
  • 做网站题材海南网站建设软件
  • 门户网站建设 考核从零开始学做网站cdsn
  • 百胜网站建设秀屿区建设局网站
  • 公司招聘做哪家网站建筑网站开发
  • 网站建设文案详情一条龙平台
  • 四站合一网站建设公司权威的手机网站制作
  • 自主网站建站上海金瑞建设集团网站
  • 阿里云网站建设方案书中山市公司企业网站的选择
  • 网站建设管理工作制度知名网站建设加盟合作
  • 网站定制公司推荐wordpress 插件 封面
  • 企业手机网站建设行情做外贸哪个网站比较好2017
  • 专业网站制作电话软件推广
  • 免费建站系统博客海外网站搭建
  • 网站建设与制作视频教学站酷网图片
  • 网站开发还有哪些万维网申请网站域名
  • 做网站费用上海判断网站做的好坏
  • 有了域名和空间怎么建网站哪些公司需要网页电商设计师
  • 网站开站备案深圳创业补贴10万
  • 圆通我做网站拉上海建站系统
  • 对于做网站有什么要求新闻发布会视频
  • 网站建设专业就业前景成都房产信息网 官网
  • 西宁网站建设公司排行网站查询域名ip解析
  • 柳州企业网站开发公司如何做网站首页图
  • 刷赞网站空间免费深圳网站制作公司排名
  • 网站内部优化策略获取网站的路径