- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
腾讯web前端发工程师笔试题及答案
腾讯web前端开发工程师笔试题及答案
如何实现事件委托?
首先要知道什么是事件委托。
考虑一个列表,在li的数量非常少的时候,为每一个li添加事件侦听当然不会存在太多性能方面的问题,但是当列表非常的长,长到上百上千甚至上万的时候(当然只是一个解释,实际工作中很少遇到这么多li的情况),为每个li添加事件侦听就会对页面性能产生很大的影响。
就像下面这段代码:
!DOCTYPE HTMLhtmlheadmeta charset=utf-8 /titlejs性能优化/title/headbody?ul id=listli精通css/lili精通js/lili精通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 HTMLhtmlheadmeta charset=utf-8 /titlejs性能优化/title/headbody?ul id=listli精通css/lili精通js/lili精通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
您可能关注的文档
- 耀江物业文欣苑理处网络门禁系统方案.doc
- 老年人健康管理务规范2011版.doc
- 考博英语完形填冲刺2016模拟试题及答案.doc
- 考研-方剂学总(打印版)V3.2(A4纸).doc
- 考研整理传播学论笔记.doc
- 考研方剂学完整记(手打).doc
- 考驾照科目三考攻略.docx
- 聊城市急救中心救技能大赛医疗急救知识1000题.doc
- 职业危害防治计和实施方案.doc
- 职业发展与就业导试题答案.doc
- 初中生如何正确处理网络游戏的依赖问题.docx
- 湘教版小学美术二年级下册 10 民间玩具 教学设计.docx
- 2024年八年级生物下册 8.22.3人的性别决定教学设计 (新版)苏教版.docx
- 冀人版(2024秋)科学四年级上册7《声音的传播》教案.docx
- 高考政治二轮专题突破 专题12 认识社会与价值选择教案.docx
- 【单元整体教学设计】Unit 4 Then and now PA Lets talk 教案.docx
- 2024-2025学年八年级地理上册 第二章 第四节 自然灾害教案 (新版)新人教版.docx
- 6 秋天的雨 教案-2023-2024学年语文三年级上册(统编版).docx
- 浙教版六年级《劳动》项目一 任务三《劳动工具的改进与制作》教案.docx
- 教科版(2024秋)科学 五年级下册 2.2用浮的材料造船(教案).docx
文档评论(0)