下载此文档

腾讯web前端开发工程师笔试题及答案.doc


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
腾讯web前端开发工程师笔试题及答案如何实现事件委托?首先要知道什么是事件委托。考虑一个列表,在li的数量非常少的时候,为每一个li添加事件侦听当然不会存在太多性能方面的问题,但是当列表非常的长,长到上百上千甚至上万的时候(当然只是一个解释,实际工作中很少遇到这么多li的情况),为每个li添加事件侦听就会对页面性能产生很大的影响。就像下面这段代码:<!DOCTYPEHTML><html><head><metacharset="utf-8"/><title>js性能优化</title></head><body> <ulid='list'><li>精通css</li><li>精通js</li><li>精通html</li>......</ul></body></html> <scripttype="text/javascript">(function(){vara=('list');varb=('li');for(vari=0;i<;i++){b[i].addEventListener('click',function(e){varc=; alert();},false);}})();</script>首先,我们来想下,产生性能问题的根本原因是什么呢?li元素(目标对象)所要进行的事件处理了。怎么可以解决这种囧况呢?答案就是采用事件委托,将在li对象上面要处理的事件委托给父元素或者祖先元素,即为父元素绑定事件侦听,看看下面的改进代码:<!DOCTYPEHTML><html><head><metacharset="utf-8"/><title>js性能优化</title></head><body> <ulid='list'><li>精通css</li><li>精通js</li><li>精通html</li>......</ul></body></html> <scripttype="text/javascript">(function(){vara=('list');('click',function(e){varb=; alert();},false);})();</script> 虽然现在很多框架都已经实现了事件委托,但是作为一个开发人员,用框架的同时我们也应该知道他实现的原理是如何的,知其然,更要知其所以然将10进制的数302转为二进制。十进制转二进制的原理是:用2辗转相除至结果为1将余数和最后的1从下向上倒序写就是结果例如302302/2=151余0151/2=75余175/2=37余137/2=18余118/2=9余09/2=4余14/2=2余02/2=1余0故二进制为100101110所以程序可以写成这样:vara=302;varstr="";while(a>1){ str=a%2+str; a=parseInt(a/2);}str=a+str;js中运算符的优先级(此非原题,为原理题)运算符描述.[]()字段访问、数组下标、函数调用以及表达式分组++---~!deletenewtyp

腾讯web前端开发工程师笔试题及答案 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人一花一叶
  • 文件大小39 KB
  • 时间2019-05-18