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

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
腾讯web前端发工程师笔试题及答案

腾讯web前端开发工程师笔试题及答案 如何实现事件委托? 首先要知道什么是事件委托。 考虑一个列表,在li的数量非常少的时候,为每一个li添加事件侦听当然不会存在太多性能方面的问题,但是当列表非常的长,长到上百上千甚至上万的时候(当然只是一个解释,实际工作中很少遇到这么多li的情况),为每个li添加事件侦听就会对页面性能产生很大的影响。 就像下面这段代码: !DOCTYPE HTML html head meta charset=utf-8 / titlejs性能优化/title /head body? ul id=list li精通css/li li精通js/li li精通html/li ...... /ul /body /html? script type=text/javascript (function(){ var a=document.getElementById(list); var b=a.getElementsByTagName(li); for(var i=0;ib.length;i++){ b[i].addEventListener(click,function(e){ var c = e.target;? alert(c.innerHTML); },false); } })(); /script 首先,我们来想下,产生性能问题的根本原因是什么呢?li元素(目标对象)所要进行的事件处理了。怎么可以解决这种囧况呢? 答案就是采用事件委托,将在li对象上面要处理的事件委托给父元素或者祖先元素,即为父元素绑定事件侦听, 看看下面的改进代码: !DOCTYPE HTML html head meta charset=utf-8 / titlejs性能优化/title /head body? ul id=list li精通css/li li精通js/li li精通html/li ...... /ul /body /html? script type=text/javascript (function(){ var a=document.getElementById(list); a.addEventListener(click,function(e){ var b = e.target;? alert(b.innerHTML); },false); })(); /script ?虽然现在很多框架都已经实现了事件委托,但是作为一个开发人员,用框架的同时我们也应该知道他实现的原理是如何的,知其然,更要知其所以然 将10进制的数302转为二进制。 十进制转二进制: 用2辗转相除至结果为1 将余数和最后的1从下向上倒序写 就是结果 例如302 302/2 = 151 余0 151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0 9/2 = 4 余1 4/2 = 2 余0 2/2 = 1 余0 故二进制为100101110 var a=302; var str=; while(a1){ str = a%2 + str; a = parseInt(a/2); } str = a+str; js中运算符的优先级(此非原题,为原理题) 运算符 描述 . [] () 字段访问、数组下标、函数调用以及表达式分组 ++ -- - ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值 * / % 乘法、除法、取模 + - + 加法、减法、字符串连接 移位 = = instanceof 小于、小于等于、大于、大于等于、instanceof == != === !== 等于、不等于、严格相等、非严格相等 按位与 ^ 按位异或 | 按位或 逻辑与 || 逻辑或 ?: 条件 = oP= 赋值、运算赋值 , 多重求值 array.sort(function(a,b){return a-b;}) 详细说明访问网站: /article445724.shtml NaN * 6=__NaN____ JS中调用某个函数之前,如何取得该函数最多可以传递多少个参数?该函数被调用时,如果知道传了多少个参数过来? 假设函数名为fun,那个fun.length就是它最多能接受的参数个数; 在fun函数里面,arguments就是用数组装着调用时传过来的所有参数,因此arguments.length就是已经传递过来的参数个数; 如: function needTwoPara(p1,p2){ var a=arguments; var

文档评论(0)

ojd475 + 关注
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档