吃瓜网站&吃瓜事件:
- 1、前端面试题,js事件机制是什么?
- 2、前端性能优化总结(一)-js、css优化
- 3、在js中,事件代理和事件委托是什么区别啊,怎么解释啊
- 4、如何改进javascript代码的性能_javascript技巧
- 5、js事件委托和ja事件代理有什么区别
前端面试题,Js事件机制是什么?
1、事件流:指从页面中接收事件的顺序,有冒泡流和捕获流。当页面中发生某种事件(比如鼠标点击,鼠标滑过等)时,毫无疑问子元素和父元素都会接收到该事件,可具体顺序是怎样的呢?冒泡和捕获则描述了两种不同的顺序。
2、web worker,we[文]b worker是运行[章]在浏览器后台的js[来]程序,他不影响主程[自]序的运行,是另开的[Z]一个js线程,可以[B]用这个线程执行复杂[L]的数据操作,然后把[O]操作结果通过pos[G]tMessage传[文]递给主线程,这样在[章]进行复杂且耗时的操[来]作时就不会阻塞主线[自]程了。
3、这个问题牵扯到[Z]一组我想要考察的基[B]本知识点:DOM结[L]构、DOM操作、事[O]件处理、XHR和J[G]SON。如果我要求[文]你对换一种处理股票[章]价格的方式,或者 让你在页面中显示其[来]他信息,就可以把更[自]多的知识点包括进来[Z]。
4、关于这个前端工[B]程师的面试,考察能[L]力时候很重要的。一[O]般呢,我们可以总结[G]为前端工程师是有关[文]基础理论和能力的综[章]合。而这个里面的能[来]力就包含这个考察能[自]力这个考察能力呢一[Z]般就是指工程师的编[B]程能力。一般面试官[L]都是通过案例问题来[O]检验每个人的考察能[G]力的。这个所谓的案[文]例问题就是在编程上[章]的一些算法题。
5、然后就让我用原生js写一个回调函数,其实就是问promise的原理了,js写一个。this指向 这个是面试官手写了一道变态长以及绕的this指向题,可以自行百度js this指向面试题,看几道没有啥问题,需要关注的是其中也考了,argument,和apply(null)。
前端性能优化总结(一)-js、css优化
现代浏览器会对频繁的回流或重绘操作进行优化:浏览器会维护一个队列,把所有引起回流和重绘的操作放入队列中,如果队列中的任务数量或者时间间隔达到一个阈值的,浏览器就会将队列清空,进行一次批处理,这样可以把多次回流和重绘变成一次。
合并图片。当图片较[来]多时,可以合并为一[自]张大图,从而减少h[Z]ttp请求数。经常[B]变化的图片可能不太[L]合适,变化相对稳定[O]的就可以考虑。合并[G]大图除了能减少ht[文]tp请求数外,还可[章]以充分利用缓存来提[来]升性能。合并压缩c[自]ss样式表和js脚[Z]本,他们的共同目的[B]都是为了减少htt[L]p连接数。去掉不必[O]要的请求。
方法有很多种,以下请参考:尽量减少对服务端的数据请求,因为每一次的请求需要消耗大量的资源,而且产生页面的等待,对用户的UI体验特别差,因此,可以将多次的数据请求合成为一次,获取后再次分割进行保存,然后再使用。
在js中,事件代理和事件委托是什么区别啊,怎么解释啊
事件代理和事件委托实际上说的是同一件事,只是站在不同的角度来说的。比如说元素A把事件处理委托给自己的父元素B去处理,那么A就是事件委托方,而B就是事件代理方,两者参与的实际上是同一件事。
事件委托就是利用事[G]件冒泡,只指定一个[文]事件处理程序,就可[章]以管理某一类型的所[来]有事件,事件委托又[自]叫事件代理。举一个[Z]通俗的例子:有三个[B]同事预计会在周一收[L]到快递。为签收快递[O],有两种办法:一是[G]三个人在公司门口等[文]快递;二是委托给前[章]台代为签收。
事件委托:通俗的讲[来],事件就是oncl[自]ick,onmou[Z]seover,on[B]mouseout,[L]等就是事件,利用冒[O]泡的原理,把事件加[G]到父级上,触发执行[文]效果 --- 如果我们不想或不能[章]够直接操纵目标对象[来],我们可以利用de[自]legate创建一[Z]个代理对象来调用目[B]标对象的方法,从而[L]达到操纵目标对象的[O]目的。代理对象要拥[G]有目标对象的引用。[文]
事件委托也叫事件代[章]理,就是利用事件冒[来]泡,只指定一个事件[自]处理程序,就可以管[Z]理某一类型的所有事[B]件。网上有个经典栗[L]子,取快递来解释事[O]件委托原理:主要有[G]两个含义:节省内存[文],提高性能 事件委托是利用事件[章]的冒泡原理来实现的[来],事件从最开始的节[自]点向上传播事件。
事件委托缺点:事件委托基于冒泡,对于不冒泡的事件不支持 层级过多,冒泡过程中,可能会被某层阻止掉。理论上委托会导致浏览器频繁调用处理函数,虽然很可能不需要处理。所以建议就近委托,比如在table上代理td,而不是在document上代理td。把所有事件都用代理就可能会出现事件误判。
如何改进javascript代码的性能_javascript技巧
1、JavaScript程序调优主要包括以下几个方面: 代码优化:避免冗余代码,提高代码的可读性和可维护性。例如,使用函数封装重复的代码,使用立即执行函数表达式(IIFE)来创建局部作用域等。 缓存:利用缓存机制来存储计算结果,避免重复计算。例如,使用闭包或者全局变量来存储已经计算过的结果。
2、这种方式同样也[Z]只进行了一次的现场[B]更新,并且性能要比[L]上一种方式要好!虽[O]然在字符串的链接上[G]有点性能损失。3 使用事件代理/事件[文]委托事件处理程序为[章]web应用提供交互[来]能力,因此许多开发[自]人员会不分青红皂白[Z]地向页面中添加大量[B]的处理程序,有个问[L]题就是一个页面上的[O]事件处理程序数量将[G]直接关系到页面的整[文]体运行性能。
3、对字符串进行循环操作,譬如替换、查找,应使用正则表达式,因为本身JavaScript的循环速度就比较慢,而正则表达式的操作是用C写成的语言的API,性能很好。 高级对象 自定义高级对象和Date、RegExp对象在构造时都会消耗大量时间。如果可以复用,应采用缓存的方式。
js事件委托和ja事件代理有什么区别
1、事件委托:通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,利用冒泡的原理,把事件加到父级上,触发执行效果 --- 如果我们不想或不能够直接操纵目标对象,我们可以利用delegate创建一个代理对象来调用目标对象的方法,从而达到操纵目标对象的目的。代理对象要拥有目标对象的引用。
2、事件代理和事件[章]委托实际上说的是同[来]一件事,只是站在不[自]同的角度来说的。比[Z]如说元素A把事件处[B]理委托给自己的父元[L]素B去处理,那么A[O]就是事件委托方,而[G]B就是事件代理方,[文]两者参与的实际上是[章]同一件事。
3、事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件,事件委托又叫事件代理。举一个通俗的例子:有三个同事预计会在周一收到快递。为签收快递,有两种办法:一是三个人在公司门口等快递;二是委托给前台代为签收。