前端工程师面试题题及答案(全面综合)_第1页
前端工程师面试题题及答案(全面综合)_第2页
前端工程师面试题题及答案(全面综合)_第3页
前端工程师面试题题及答案(全面综合)_第4页
前端工程师面试题题及答案(全面综合)_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、1 .要动态改变层中内容可以使用的方法有(AB)a)innerHTMLb)innerTextc)通过设置层的隐藏和显示来实现d)通过设置层的样式属性的display属性2 .在javascript里,下列选项中不属于数组方法的是(B);a)sort()b)length()c)concat()d)reverse()3 、varemp=newArray(3);for(variinemp)以下答案中能与for循环代码互换的是:(选择一项)。(D)Afor(vari=0;i<emp;i+)Bfor(vari=0;i<Array(3);i+)Cfor(vari=0;i<emp.leng

2、th();i+)Dfor(vari=0;i<emp.length;i+)4下列声明数组的语句中,错误的选项是(C)a)Vararry=newArray()b)Vararry=newArray(3)c)Vararry=newArray(3)(4)d)Vararry=newArray(3',4')5 .下列哪一个选项不属于document对象的方法?(D)a)focus()b)getElementById()c)getElementsByName()d)bgColor()6 .、display属性值的常用取值不包括(C)a)inlineb)blockc)hiddend)non

3、e7 .以下有关pixelTop属性与top属性的说法正确的是。(D)a)都是Location对象的属性b)使用时返回值都是字符串c渚口是返回以像素为单位的数值d)以上都不对8 .使用open方法打开具有浏览器工具条,地址栏,菜单栏的窗口,下列选项正确的是_D_a)open("x.html","HI","toolbas=1,scrollbars=1,status=1");b)open("HI","scrollbars=1,location=1,status=1");c)open("x.

4、html","status=yes,menubar=1,location=1");d)open("x.html","HI","toolbas=yes,menubar=1,location=1");9.、javascript中表达式parseInt(“X8X8")+paseFl8罐果是馋么)?(C)a)8+8b)88c)16d)“8"+'810 .关于setTimeout("check中说漓正确的是(D)a)程序循环执行10次b)Check函数每10秒执行一次c)10做

5、为参数传给函数checkd)Check函数每10毫秒执行一次*.11 link和import的区别是?(1) link属于XHTML标签,而import是CSSI供的;(2)页面被加载的时,link会同时被加载,而import引用的CS哙等到页面被加载完再加载;(3) import只在IE5以上才能识别,而link是XHTML标签,无兼容问题;(4) link方式的样式的权重高于import的权重.12html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5?* HTML5现在已经不是SGML的子集,主要是关于图像,位置,存储,多任务等功能

6、的增加。* 绘画canvas用于媒介回放的video和audio元素本地离线存储localStorage长期存储数据,浏览器关闭后数据不丢失;sessionStorage的数据在浏览器关闭后自动删除语意化更好的内容元素,比如article、footer、header、nav、section表单控件,calendar、date、time、email、url、search新的技术webworker,websockt,Geolocation*移除的元素纯表现的元素:basefont,big,center,font,s,strike,tt,u;对可用性产生负面影响的元素:frame,frameset,

7、noframes;支持HTML5新标签:* IE8/IE7/IE6支持通过document.createElement方法产生的标签,可以利用这一特性让这些浏览器支持HTML5新标签,浏览器支持新标签后,还需要添加标签默认的样式:* 当然最好的方式是直接使用成熟的框架、使用最多的是htm15shim框架* !-ifltIE9><script>src=""</script><!endif->如何区分:DOCTYP声明新增的结构元素功能元素13HTML5的离线储存?localStorage长期存储数据,浏览器关闭后数据不丢失;sessi

8、onStorage数据在浏览器关闭后自动删除。14:介绍一下CSS勺盒子模型?(1)有两种,IE盒子模型、标准W3C盒子模型;IE的content部分包含了border和pading;(2)盒模型:内容(content)、填充(padding)、边界(margin)、边框(border).15CSS选择器有哪些?哪些属性可以继承?优先级算法如何计算?CSS渐增伪类有那些?*1.id选择器(#myid)2 .类选择器(.myclassnam®3 .标签选择器(div,hi,p)4 .相邻选择器(hi+p)5 .子选择器(ul<li)6 .后代选择器(lia)7 .通配符选择器(*

9、)8 .属性选择器(arel="external")9 .伪类选择器(a:hover,li:nth-child)* 可继承的样式:font-sizefont-familycolor,ULLIDLDDDT;* 不可继承的样式:borderpaddingmarginwidthheight;* 优先级就近原则,同权重情况下样式定义最近者为准;* 载入样式以最后载入的定位为准;优先级为:important>id>class>tagimportant比内联优先级高16列出display的值,说明他们的作用。position的值,relative和absolute定位

10、原点是?1.block象块类型元素一样显示。none缺省值。象行内元素类型一样显示。inline-block象行内元素一样显示,但其内容象块类型元素一样显示。list-item象块类型元素一样显示,并添加样式列表标记。2.*absolute生成绝对定位的元素,相对于static定位以外的第一个父元素进行定位*fixed(老IE不支持)生成绝对定位的元素,相对于浏览器窗口进行定位。*relative生成相对定位的元素,相对于其正常位置进行定位。* static默认值。没有定位,元素出现在正常的流中* (忽略top,bottom,left,rightz-index声明)。* inherit规定从父

11、元素继承position属性的值。* 7介绍js的基本数据类型。number,string,boolean,object,undefined18Javascript如何实现继承?通过原型和构造器19什么是I包(closure),为什么要用它?一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。二、如何从外部读取局部变量?出于种种原因,我们有时候需要得到函数内的局部变量。但是,前面已经说过了,正常情况下,这是办不到的,只有通过变通方法才能实现。那就是在函

12、数的内部,再定义一个函数。三、闭包的概念上一节代码中的f2函数,就是闭包。各种专业文献上的闭包”(closure)定义非常抽象,很难看懂。我的理解是,闭包就是能够读取其他函数内部变量的函数。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成定义在一个函数内部的函数所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。b四、闭包的用途闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。闭包的用途闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的

13、变量,另一个就是让这些变量的值始终保持在内存中。20针又tjQuery的优化方法?1,总是从ID选择器开始继承2,在class前使用tag(标签名)在jQuery中第二快的选择器是tag(标签)选择器(比如:$("head”。)跟ID选择器累时,因为它来自原生的getElementsByTagName()方法。继续看刚才那段HTML代码:比如需要选择红绿单选框,那么可以使用一个tagname来限制(修饰)class,如下所示:varactive_light=$("input.on");当然也可以结合就近的ID,如下所示:varactive_light=$(&quo

14、t;#traffic_lightinput.on");在使用tag来修饰class的时候,我们需要注意以下几点:(1)不要使用tag来修饰ID,如下所示:varcontent=$("div#content”);这样一来,选择器会先遍历所有的div元素,然后匹配#content。(好像jQuery从1.3.1开始改变了选择器核心后,不存在这个问题了。暂时无法考证。)(2)不要画蛇添足的使用ID来修饰ID,如下所示:vartraffic_light=$("#content#traffic_light");3,将jQuery对象缓存起来把jQuery对象缓存起

15、来就是要告诉我们要养成将jQuery对象缓存进变量的习惯。下面是一个jQuery新手写的一段代码:$("#traffic_lightinput.on").bind("click",function();$("#traffic_lightinput.on").css("border","1pxdashedyellow");$("#traffic_lightinput.on").css("background-color","orange"

16、);$("#traffic_lightinput.on").fadeIn("slow");但切记不要这么做。我们应该先将对象缓存进一个变量然后再操作,如下所示:var$active_light=$("#traffic_lightinput.on");$active_light.bind("click",function();$active_light.css("border","1pxdashedyellow");$active_light.css("backgro

17、und-color","orange");$active_light.fadeIn("slow");记住,永远不要让相同的选择器在你的代码里出现多次.4,对直接的DOM操作进行限制这里的基本思想是在内存中建立你确实想要的东西,然后更新DOM。这并不是一个jQuery最佳实践,但必须进行有效的JavaScrip臊作。直接的DOM操作速度很慢。例如,你想动态的创建一组列表元素,千万不要这样做,如下所示:vartop_100_list=,/假设这里是100个独一无二的字符串$mylist=$("#mylist");jQuery选择

18、到元素for(vari=0,l=top_100_list.length;i"+top_100_listi+"");我们应该将整套元素字符串在插入进dom中之前先全部创建好,如下所示:vartop_100_list=,$mylist=$("#mylist"),top_100_li=""/这个变量将用来存储我们的列表元素for(vari=0,l=top_100_list.length;i"$mylist.html(top_100_li);5,冒泡除非在特殊情况下,否则每一个js事件(例如:click,mouseover

19、等.)都会冒泡到父级节点。当我们需要给多个元素调用同个函数时这点会很有用。代替这种效率很差的多元素事件监听的方法就是,你只需向它们的父节点绑定一次。比如,我们要为一个拥有很多输入框的表单绑定这样的行为:当输入框被选中时为它添加一个class传统的做法是,直接选中input,然后绑定focus等,如下所示:$("#entryforminput").bind("focus",function()$(this).addClass("selected");).bind("blur",function()$(this).re

20、moveClass("selected"););当然上面代码能帮我们完成相应的任务,但如果你要寻求更高效的方法,请使用如下代码:$("#entryform").bind("focus",function(e)var$cell=$(e.target);e.target捕捉到触发的目标元素$cell.addClass("selected");).bind("blur",function(e)var$cell=$(e.target);$cell.removeClass("selected"););通过在父级监听获取焦点和失去焦点的事件,对目标元素进行操作。在上面代码中,父级元素扮演了一个调度员的角色,它可以基于目标元素绑定事件。如果你发现你给很多元素绑定了同一个事件监听,那么现在的你肯定知道哪里做错了。6,推迟到$(window).loa

温馨提示

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

评论

0/150

提交评论