腾讯web前端开发工程师笔试题及答案.doc_第1页
腾讯web前端开发工程师笔试题及答案.doc_第2页
腾讯web前端开发工程师笔试题及答案.doc_第3页
腾讯web前端开发工程师笔试题及答案.doc_第4页
腾讯web前端开发工程师笔试题及答案.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

腾讯web前端开发工程师笔试题及答案1、 如何实现事件委托?首先要知道什么是事件委托。考虑一个列表,在li的数量非常少的时候,为每一个li添加事件侦听当然不会存在太多性能方面的问题,但是当列表非常的长,长到上百上千甚至上万的时候(当然只是一个解释,实际工作中很少遇到这么多li的情况),为每个li添加事件侦听就会对页面性能产生很大的影响。就像下面这段代码:js性能优化精通css精通js精通html.(function()var a=document.getElementById(list);var b=a.getElementsByTagName(li);for(var i=0;ib.length;i+)bi.addEventListener(click,function(e)var c = e.target;alert(c.innerHTML);,false);)();首先,我们来想下,产生性能问题的根本原因是什么呢?li元素(目标对象)所要进行的事件处理了。怎么可以解决这种囧况呢?答案就是采用事件委托,将在li对象上面要处理的事件委托给父元素或者祖先元素,即为父元素绑定事件侦听,看看下面的改进代码:js性能优化精通css精通js精通html.(function()var a=document.getElementById(list);a.addEventListener(click,function(e)var b = e.target;alert(b.innerHTML);,false);)();虽然现在很多框架都已经实现了事件委托,但是作为一个开发人员,用框架的同时我们也应该知道他实现的原理是如何的,知其然,更要知其所以然2、 将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;3、 js中运算符的优先级(此非原题,为原理题)运算符描述. ()字段访问、数组下标、函数调用以及表达式分组+ - - ! delete new typeof void一元运算符、返回数据类型、对象创建、未定义值* / %乘法、除法、取模+ - +加法、减法、字符串连接 移位 = instanceof小于、小于等于、大于、大于等于、instanceof= != = !=等于、不等于、严格相等、非严格相等&按位与按位异或|按位或&逻辑与|逻辑或?:条件= oP=赋值、运算赋值,多重求值4、 typeof(null)=_答案为object5、 JS中给全部都是数字元素的数组排序的原生方法是_sort_,其中使用的是_冒泡_排序方法。例如:array.sort(function(a,b)return a-b;)详细说明访问网站:/article/20120718/445724.shtml6、 NaN * 6=_NaN_7、 JS中调用某个函数之前,如何取得该函数最多可以传递多少个参数?该函数被调用时,如果知道传了多少个参数过来?假设函数名为fun,那个fun.length就是它最多能接受的参数个数;在fun函数里面,arguments就是用数组装着调用时传过来的所有参数,因此arguments.length就是已经传递过来的参数个数;如:function needTwoPara(p1,p2)var a=arguments; var result=我是个需要+needTwoPara.length+个参数的函数n +您输入的参数的个数为:+a.length+n for(var i=0, len = a.length; i len; i+) result=result+第+(i+1)+个参数为:+ai+n result+=以上是用arguments来获得参数n; result+=下面用变量来获得参数:n; result+=p1:+p1+n; result+=p2:+p2+n; alert(result);alert(needTwoPara.length);needTwoPara(ooooo);运行结果为:2我是个需要2个参数的函数您输入的参数的个数为:1第1个参数为:ooooo以上是用arguments来获得参数下面用变量来获得参数:p1:ooooop2:undefined8、 软件HttpWatch的作用?可以参考:/view/425789.htm9、 JS如何得到HTTP的请求头信息和返回的头信息?Javascript中跟response header有关的就两个方法:getResponseHeader从响应信息中获取指定的http头 语法strValue =oXMLHttpRequest.getResponseHeader(bstrHeader);getAllResponseHeaders获取响应的所有http头 语法strValue =oXMLHttpRequest.getAllResponseHeaders();需要注意的是,通常,在IE下不能完整的获取header报头数据,只能取到如下header数据:X-Powered-By:X-UA-Compatibl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论