首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Vue相关的前端面试题,每道题都很经典~

答案与详解 Q 说说Vue和Angular、ReactJS的相同点和不同点 与React的相同: ●都使用了Virtual DOM ●提供了响应式和组件化的视图组件 ●将注意力集中保持在核心库,而将其他功能路由和全局状态管理交给相关的库...Vue实例是作用在某个HTML元素的,这个HTML元素可以是body,也可以是某个id所指代的元素DOM Listeners和Data Bindings是实现双向绑定的关键。...DOM Listeners监听页面所有View层DOM元素的变化,当发生变化,Model层的数据随之变化;Data Bindings监听Model层的数据,当数据发生变化,View层的DOM元素随之变化...通过使用保留的 元素,动态地绑定到它的 is 特性,我们让多个组件可以使用同一个挂载点,并可以动态地切换。 除此之外,Vue还提供了keep-alve指令。...因为在一个组件被多次引用的情况下,如果data的值是一个Object的话,那么由于Object是一个引用类型,所以即使是该组件被多次引用,而其实操作的是同一个对象,最终导致了引用该组件的所有位置都同步的显示了

11K30

小程序优化36计

偷梁换柱 小程序官方提供了很多组件,但有些常用组件不能满足性能要求,页面一些交互又不能发生很大变化,我们只能出一些替代的技术方案实现,达到【偷梁换柱】的目的。...同样,当在同一个页面的tab来回切换时,我们也使用这种【短延时】方案加载另一个tab的数据,做到秒切tab。...在弹窗出现时,将page里的元素的position置为fixed或者高度置为少于一屏,使用page暂时不会滚动,可以缓解这一问题。...在改变视图层时,可以使用css animation 的多帧动画来渲染一段时间内的页面展示,避免多次setData,如像毫秒倒计时就可以用9到0多个view的translate来展示。...用好缓存,在小程序性能优化可能事半功倍。

2K80
您找到你想要的搜索结果了吗?
是的
没有找到

【H5游戏】红包雨 实现详解

游戏实现分了 7个部分来详细说明,本文主要讲解主逻辑,边边角角不会太详细,详细的可以看具体仓库代码 1、总览 2、数据配置 3、数据通信 4、代码详解 - 红包 5、代码详解 - 倒计时 1总览 看下整个游戏的流程图...resolution:2, // default: 1 分辨率 backgroundColor: 0x000000, }); // 挂载到DOM container...,主要是这部分是通用能力,游戏中坠落的元素可以有很多种,比如我们的游戏就有 红包和 星星,所以把能力抽离出来,让他们去继承从而拥有这些能力 Timer 、Score 倒计时和 分数 功能比较简单,只是绘制的内容比较复杂...duration: 2, repeat: -1, yoyo: true, // ease: 'power1.inOut', }; // 左右随机一下,以免都是同一个方向的偏移...,销毁 pixi 容器 this.destroy() }); } } 倒计时结束的收尾动作,主要是 1、销毁红包生成定时器 2、销毁所有 pixi 元素 3、销毁 pixi 容器

2.7K40

前端react面试题指北

React如何获取组件对应的DOM元素? 可以用ref来获取某个子节点的实例,然后通过当前class组件实例的一些特定属性来直接获取子节点实例。...这就是 React自己实现的冒泡机制 概述下 React 中的事件处理逻辑 抹平浏览器差异,实现更好的跨平台。...另外有意思的是,React 并没有直接将事件附着到子元素,而是以单一事件监听器的方式将所有的事件发送到顶层进行处理。...这样 React 在更新 DOM 的时候就不需要考虑如何去处理附着在 DOM 的事件监听器,最终达到优化性能的目的 mobox 和 redux 有什么区别?...(注:这里之所以多次 +1 最终只有一次生效,是因为在同一个方法中多次 setState 的合并动作不是单纯地将更新累加。比如这里对于相同属性的设置,React 只会为其保留最后一次的更新)。

2.5K30

WebAPIs学习笔记

)是用来呈现以及与任意 HTML 或 XML文档交互的API 简单来说:DOM是浏览器提供的一套专门用来 操作网页内容 的功能 作用:开发网页内容特效和实现用户交互 DOM树 内容:将HTML以树状的内容直观显示出来...(::hover) 脚本操作DOM(添加或者删除可见的DOM元素) 重绘 由于节点(元素)的样式的改变并不影响它在文档流中的位置和文档布局时(比如:color、background-color、 outline...,后面注册的事件会覆盖前面注册(同一个事件) 直接使用null覆盖偶就可以实现事件的解绑 都是冒泡阶段执行的 事件监听注册(L2) 语法: addEventListener(事件类型, 事件处理函数,...获取元素的自身宽高、包含元素自身设置的宽高、padding、border offsetWidth 和 offsetHeight 获取位置(只读,不可修改) 获取元素距离自己定位父级元素的左、距离 client...异步任务 JS 的异步是通过回调函数实现的 一般来说异步任务有以下三种类型 1、普通事件, click、resize 等 2、资源加载, load、error 等 3、定时器,包括 setInterval

1K30

前端| 性能优化总结

在 HTTP2 ,多个请求可以共用一个 TCP 连接,这称为多路复用。同一个请求和响应用一个流来表示,并有唯一的流 ID 来标识。...比如下拉选择国籍配置参数时,配置带上国旗和未带上国旗时大小差异很大、 06 .减少重绘重排,减少操作domdom元素的添加或删除,元素位置的改变,浏览器窗口尺寸改变。...推荐使用隐藏元素(display:none)或文档碎片(DocumentFragement),都能很好的实现这个方案。 07 (1)使用事件委托,事件委托利用了事件冒泡。...尽可能在 DOM 树的最末端改变 class。 避免设置多层内联样式。 将动画效果应用到 position 属性为 absolute 或 fixed 的元素。...避免频繁读取会引发回流/重绘的属性,如果确实需要多次使用,就用一个变量缓存起来。 对具有复杂动画的元素使用绝对定位,使它脱离文档流,否则会引起父元素及后续元素频繁回流。

71420

BOM概述

JavaScript进阶内容——BOM详解 在上一篇文章中我们学习了DOM,接下来让我们先通过和DOM的对比来简单了解一下BOM 首先我们先来复习一下DOM: 文档对象模型 DOM把文档当作一个对象来看待...DOM的顶级对象是document DOM的主要学习是操作页面元素 DOM是W3C标准规范 然后我们来介绍一下BOM: 浏览器对象模型 BOM把浏览器当作一个对象来看待 BOM的顶级对象是window...加载完毕(不包括图片,flash等)就会执行内部处理函数 注意: 我们在有了window.onload和DOMContentLoaded后可以将JavaScript代码放于页面元素上方 window.onload...,形成一个执行线 异步任务: JS的异步任务都是通过回调函数执行的 一般而言异步任务分为: 普通事件 : click,resize等 资源加载 : load,error等 定时器: 包括Timeout...document.querySelector('div'); button.addEventListener('click',function(){ // 在点击后,出现倒计时

1.1K10

Vant Weapp 1.0 正式版发布

16 个月以来,我们收到了 27 位开发者贡献的 1000 多次提交,也处理了 1200 多个 issue,发布了 50 多个版本。...Github 的 star 数从 5k 上升到了 11k,长期是 Github star 数最多的第三方小程序 UI 组件库。 ?...,用于展示内容或进行页面导航 Image 图片,增强版的 Image 标签,支持图片懒加载与加载失败提示 Circle 环形进度条,告知用户当前的状态和进度 Overaly 遮罩层,用于强调特定的页面元素...,提供界面加载过程中的过渡效果 IndexBar 索引栏,通讯录中的字母索引栏,用于长列表快速索引 Uploader 文件上传,上传一个或多个文件 CountDown 倒计时,用于显示活动倒计时、短信验证码等...微信小程序自定义组件的组件模型相当于一个简化版的 Shadow DOM,幸运的是,小程序也支持了 CSS自定义属性 的特性。

74520

最常见的 20 个 jQuery 面试问题及答案

你可以传一个函数给 each() 方法,被调用的 jQuery 对象会在其每个元素执行传入的函数。有时这个问题会紧接着上面一个问题,举个例子,如何在 alert 框里显示所有选中项。...你是如何将一个 HTML 元素添加到 DOM 树中的?(答案如下)   你可以用 jQuery 方法 appendTo() 将一个 HTML 元素添加到 DOM 树中。...这是 jQuery 提供的众多操控 DOM 的方法中的一个。你可以通过 appendTo() 方法在指定的 DOM 元素末尾添加一个现存的元素或者一个新的 HTML 元素。   10....你可以传一个函数给 each() 方法,被调用的 jQuery 对象会在其每个元素执行传入的函数。有时这个问题会紧接着上面一个问题,举个例子,如何在 alert 框里显示所有选中项。...这是 jQuery 提供的众多操控 DOM 的方法中的一个。你可以通过 appendTo() 方法在指定的 DOM 元素末尾添加一个现存的元素或者一个新的 HTML 元素。   10.

13.7K30

一天梳理React面试高频知识点

key可以帮助 React跟踪循环创建列表中的虚拟DOM元素,了解哪些元素已更改、添加或删除。每个绑定key的虚拟DOM元素,在兄弟元素之间都是独一无二的。...key使 React处理列表中虛拟DOM时更加高效,因为 React可以使用虛拟DOM的key属性,快速了解元素是新的、需要删除的,还是修改过的。...因为 React 需要将组件转化为虚拟 DOM 树,所以在编写代码时,实际是在手写一棵结构树。而XML 在树结构的描述上天生具有可读性强的优势。...在 React中元素( element)和组件( component)有什么区别?简单地说,在 React中元素(虛拟DOM)描述了你在屏幕看到的DOM元素。...换个说法就是,在 React中元素是页面中DOM元素的对象表示方式。在 React中组件是一个函数或一个类,它可以接受输入并返回一个元素

2.8K20

JavaScript 学习-30.HTML DOM0级事件和 DOM2级事件

如果我们想一个元素绑定多次同一个时间,比如我想绑定2个onclick事件,2个都要生效,于是就有了DOM2 级事件,通过addEventListener绑定的事件。...为什么没有 DOM1 级事件,我也很好奇,DOM1 一般只有设计规范没有具体实现,所以一般没有所谓的DOM1 级事件。...DOM0 级事件 DOM0 级事件就是前面讲到的事件绑定有2种方式,在HTML 中 或在 Script 中绑定事件 在页面元素中onclick="" scrip 中给元素添加onclick属性 绑定事件...使用 “click” ,而不是使用 “onclick”。 function 是事件触发后调用的函数。...addEventListener 同一事件监听多个 给同一个元素同一个事件,添加多个监听事件 onclick 点击示例 <button id="btn1

1K10

BOM

DOM     文档对象模型     DOM 就是把「文档」当做一个「对象」来看待    DOM 的顶级对象是 document    DOM 主要学习的是操作页面元素    DOM...浏览器对象模型    把「浏览器」当做一个「对象」来看待    BOM 的顶级对象是 window    BOM 学习的是浏览器窗口交互的一些对象    BOM 是浏览器厂商在各自浏览器定义的...在调用的时候可以省略 window,前面学习的对话框都属于 window 对象方法, alert()、prompt() 等。...有了 window.onload 就可以把 JS 代码写到页面元素的上方,因为 onload 是等页面内容全部加载完毕, 再去执行处理函数。...一件事干完,再回头再调用这个函数。 例如:定时器中的调用函数,事件处理函数,也是回调函数。

1.3K20

JavaScript笔记(18)之BOM

的标准化组织是W3C,BOM最初是Netscape浏览器标准的一部分 DOM和BOM的区别 BOM比DOM更大,它包含DOM window对象是浏览器的顶级对象,它具有双重角色 它是JS访问浏览器窗口的一个接口...它是一个全局对象.定义在全局作用域中的变量,函数都会变成window对象的属性和方法 在调用的时候可以省略window,前面学习的对话框都属于window对象方法,alert(),prompt()等...因为程序自上而下执行,button还没有创建就获取元素,肯定是会报错的,所以我们要学习窗口加载事件,将窗口的事件全部加载完毕以后再触发这个事件肯定就可以生效了....如果使用addEventListener则没有限制 第二种窗口加载事件 如果页面的图片很多的话,从用户访问到onload触发可能需要较长的时间,交互效果就不能实现,必然影响到用户体验,此时用DOMContentLoaded...简单理解:回调,就是回头调用的意思.一件事干完,再回头再调用这个函数.

79510

Titan商店 - 又一个Web静态项目

商品详情界面 商品详情页面实现了秒杀倒计时的功能,其主要的实现原理是:通过获取当前时间的时间戳,与结束时间的时间戳求差值,获取毫秒差值,再通过一系列的时间换算计算剩余的天数、小时数、分钟数和秒数。...而DOM的操作是通过jQuery实现的,通过setInterval函数来绑定一个计时器,动态地更新时间到页面中。 ? ?...注册界面 注册界面使用了正则表达式来验证表单,使用ES6的语法将正则表达式存储在对象中,通过遍历DOM元素的方式来验证输入值是否正确。...当验证不正确将无法注册成功,验证正确,在点击注册按钮后将会返回到主页。 ? 购物车界面 购物车界面将动态计算勾选的商品的价格及数量,算出小计和最终的价格,并实时的更新显示。...广泛的使用jQuery遍历和操作DOM。 ?

1.3K10

Vue的Key属性,v-for和v-if,v-ifv-show,v-pre不渲染,v-once只渲染一次

key属性 为什么要加 key -- api 解释 key的特殊属性主要用在vue的虚拟dom算法,如果不适用key,vue会使用一种最大限度减少动态元素并且尽可能的尝试修复/再利用相同类型元素的算法...如果在普通的dom元素使用,引用指向就是dom元素,如果用在子组件,引用就指向组件实例: hello v-for用于元素或组件的时候,引用信息将包含dom节点或组件实例的数组 is 用于动态组件且基于dom内模板的限制来工作 <component v-bind:is...v-for="todo in todos" :key="todo.id" > {{ todo.text }} 永远不要把 v-if 和 v-for 同时用在同一个元素...file 扩展简化版的min-vuex,实现getters,并实现Vuex的方式注入$store 计算属性computed实现getters缓存 beforeCreate中混入$store的获取方式 ?

2.7K20

卡牌特效: svg不规则倒计时动效

导语:直播过程中,往往会有各种动画特效增强直播效果,近期需求中,设计要求在企鹅电竞PC官网上实现一种卡牌效果,在不规则图片叠加倒计时效果。...canvas基于像素绘制,上下文占用内存大,多次切换上下文会造成内存释放慢,影响到页面的流畅度。...实现难点在倒计时效果,而倒计时效果又可以分为几部分: 1、实现半透明倒计时图层,且时间可随意设置; 2、实现切割半透明倒计时蒙版; 3、把蒙版作用在倒计时图层,并覆盖在静态图上; 4、组件化,可实现各种不规则图形的效果...由于为了把circle的倒计时起点设置为顶部,加了类transformNe90旋转了90度,因此在图形遮罩层,需要设置类transform90实现反方向90度的旋转:...总结 svg是一个很强大的矢量图绘制工具,可以直接内嵌到网页的dom中,并且可以通过css设置svg的各种属性,相对于canvas,它的操作更加灵活,实现更加简单。

2.1K30
领券