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

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

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

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

1、如何实现事件委托?

首先要知道什么是事件委托。

考虑一个列表,在li的数量非常少的时候,为每一个li添加事件侦听当然不会存在太多性

能方面的问题,但是当列表非常的长,长到上百上千甚至上万的时候(当然只是一个解释,

实际工作中很少遇到这么多li的情况),为每个li添加事件侦听就会对页面性能产生很大

的影响。

就像下面这段代码:

!DOCTYPEHTML

html

head

metacharset=utf-8/

titlejs性能优化/title

/head

body

ulid=list

li精通css/li

li精通js/li

li精通html/li

/ul

/body

/html

scripttype=text/javascript

(function(){

vara=document.getElementById(list);

varb=a.getElementsByTagName(li);

for(vari=0;ib.length;i++){

b[i].addEventListener(click,function(e){

varc=e.target;

alert(c.innerHTML);

},false);

}

})();

/script

首先,我们来想下,产生性能问题的根本原因是什么呢?li元素(目标对象)所要进行的事

件处理了。怎么可以解决这种囧况呢?

答案就是采用事件委托,将在li对象上面要处理的事件委托给父元素或者祖先元素,即为父

元素绑定事件侦听,

看看下面的改进代码:

!DOCTYPEHTML

html

head

metacharset=utf-8/

titlejs性能优化/title

/head

body

ulid=list

li精通css/li

li精通js/li

li精通html/li

/ul

/body

/html

scripttype=text/javascript

(function(){

vara=document.getElementById(list);

a.addEventListener(click,function(e){

varb=e.target;

alert(b.innerHTML);

},false);

})();

/script

虽然现在很多框架都已经实现了事件委托,但是作为一个开发人员,用框架的同时我们也

应该知道他实现的原理是如何的,知其然,更要知其所以然

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

所以程序可以写成这样:

vara=302;

varstr=;

while(a1){

str=a%2+str;

a=parseInt(a/2);

}

str=a+str;

3、js中运算符的优先级(此非原题,为原理题)

运算符描述

.[]()字段访问、数组下标、函数调用以及表达式分组

++---~!deletenewtypeofvoid一元运算符、返回数据类型、对象创建、未定义值

*/%乘法、除法、取模

+-+加法、减法、字符串连接

移位

==instanceof小于、小于等于、大于、大于等于、instanceof

==!====!==等于、不等于、严格相等、非严格相等

文档评论(0)

135****1760 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档