您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > javascript前台工程师面试题
javascript前台工程师面试题需要的朋友可以参考一下,附部分答案。一、单选题1、以下哪条语句会产生运行错误:(a)A.varobj=();//语法错误B.varobj=[];//创建数组C.varobj={};//创建对象D.varobj=//;原因:varobj=newArray();是对的;JavaScript中大括号表示创建对象。varobj={id:1,name:jacky};alert(obj.name);上例表示创建一个具有属性id(值为1)、属性name(值为jacky)的对象。属性名称可以用引号引起来成id、name,也可以不引。当然除了属性,也可以创建方法。试验代码/*window.onload=function(){//varobj=();varobj1=[];//objectvarobj2={};//objectvarobj3=//;//undefinealert(typeof(obj1));alert(typeof(obj2));alert(typeof(obj3));}*/functionshowName(){alert(this.name);}varobj={id:1,name:jacky,showName:showName};obj.showName();2、以下哪个单词不属于javascript保留字:(b)A.withB.parentC.classD.void以下的保留字不可以用作变量,函数名,对象名等,其中有的保留字是为以后JAVASCRIPT扩展用的.·abstract·boolean·break·byte·case·catch·char·class·const·continue·default·do·double·else·extends·false·final·finally·float·for·function·goto·if·implements·import·in·instanceof·int·interface·long·native·new·null·package·private·protected·public·return·short·static·super·switch·synchronized·this·throw·throws·transient·true·try·var·void·while·with3、请选择结果为真的表达式:(c)A.nullinstanceofObject(if(!(nullinstanceofObject))是真的)B.null===undefinedC.null==undefinedD.NaN==NaN(1)null确实可以理解为原始类型,不能当Object理解!null,int,float.....等这些用关键字表示的类型,都不属于Object.至于可以把null作为参数,只是特殊规定而已.可以这么理解:对象的引用代表的是一个内存的值,null是一个空引用,可以理解为内存的值为0;按这个意思对代码(2)functionf1(){}1.alert(f1instanceofFunction);//true2.alert(f1instanceofObject);//true3.alert(FunctioninstanceofObject);//true4.alert(ObjectinstanceofFunction);//trueFunction是Object的实例,Object又是Function的实例Function是函数的构造函数,而Object也是函数,Function自身也是函数Object.prototype是一切原型链的顶点,instanceof会查找整个原型链alert(Function);alert(Function.prototype);alert(Function.__proto__);alert(Object);alert(Object.prototype);alert(Object.__proto__);alert((function(){}).prototype);alert((function(){}).__proto__);alert((function(){}).__proto__.prototype);alert((function(){}).prototype.__proto__);alert(Array.__proto__);alert((123).__proto__);alert((Number).__proto__);alert((test).__proto__);alert((String).__proto__);alert((true).__proto__);alert((Boolean).__proto__);/*window.onload=function(){if(NaN==NaN){alert(ddd);}}*/二、不定项选择题4、请选择对javascript理解有误的:(abcd)A.JScript是javascript的简称B.javascript是网景公司开发的一种Java脚本语言,其目的是为了简化Java的开发难度C.FireFox和IE存在大量兼容性问题的主要原因在于他们对javascript的支持不同上D.AJAX技术一定要使用javascript技术5、foo对象有att属性,那么获取att属性的值,以下哪些做法是可以的:(ACE)A.foo.attB.foo(“att”)C.foo[“att”]D.foo{“att”}E.foo[“a”+”t”+”t”]6、在不指定特殊属性的情况下,哪几种HTML标签可以手动输入文本:(ab)A.TEXTAREA/TEXTAREAB.INPUTtype=”text”/C.INPUTtype=”hidden”/D.DIV/DIV7、以下哪些是javascript的全局函数:(abc)A.escapeB.parseFloatC.evalD.setTimeoutE.alert8、关于IFrame表述正确的有:(abcd)A.通过IFrame,网页可以嵌入其他网页内容,并可以动态更改B.在相同域名下,内嵌的IFrame可以获取外层网页的对象C.在相同域名下,外层网页脚本可以获取IFrame网页内的对象D.可以通过脚本调整IFrame的大小9、关于表格表述正确的有:(abcde)A.表格中可以包含TBODY元素B.表格中可以包含CAPTION元素C.表格中可以包含多个TBODY元素D.表格中可以包含COLGROUP元素E.表格中可以包含COL元素10、关于IE的window对象表述正确的有:(acd)A.window.opener属性本身就是指向window对象B.window.reload()方法可以用来刷新当前页面C.window.location=”a.html”和window.location.href=”a.html”的作用都是把当前页面替换成a.html页面D.定义了全局变量g;可以用window.g的方式来存取该变量三、问答题:1、谈谈javascript数组排序方法sort()的使用,重点介绍sort()参数的使用及其内部机制sort的实现的功能类似JAVA的比较器,数据排序从多维数组的第一维开始排序可以自己定义排序方法,很不多的函数2、简述DIV元素和SPAN元素的区别。DIV是块元素,span是内联元素或叫行内元素1.所谓块元素,是以另起一行开始渲染的元素,行内元素则不需另起一行,2.块元素和行内元素也不是一成不变的,通过定义CSS的display属性值可以互相转化DIV指定渲染HTML的容器。SPAN指定内嵌文本容器。3、结合spanid=”outer”spanid=”inner”text/span/span这段结构,谈谈innerHTMLouterHTMLinnerText之间的区别。这个问题只要写一下看的很清楚innerHTML对象里面的HTML,outerHTML包括对象和里面的innerText对象里面的文本4、说几条XHTML规范的内容(至少3条)属性加引号,不能有不匹配的标签,加定义5、对Web标准化(或网站重构)知道哪些相关的知识,简述几条你知道的Web标准?网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的网站标准也分三方面:结构化标准语言,主要包括XHTML和XML;表现标准语言主要包括CSS;行为标准主要包括对象模型(如W3CDOM)、ECMAScript等。四、程序题:1、完成foo()函数的内容,要求能够弹出对话框提示当前选中的是第几个单选框。htmlbodyscriptfunctionfoo(){varrg=document.getElementsByName('radioname');for(vari=0;irg.length;i++){if(rg[i].checked){alert('你选择了第'+(i+1)+'个单选框!');}}returnfalse;}/scriptbodyformname=form1onsubmit=returnfoo();inputtype=radioname=radioGroup/inputtype=radioname=radioGroup/inputtype=radioname=radioGroup/inputtype=radioname=radioGroup/inputtype=radioname=radioGroup/inputtype=radioname=radioGroup/inputtype=submit//form/body/html2、数字反转alert(reverse('a,b,c,d,e,f,g'));functionreverse(str){varspl=str.split(','),newstr='';for(vari=spl.length-1;i=0;i--){newstr+=spl[i]+',';}newstr=newstr.substring(0,newstr.length-1);returnnewstr;}其它相关面试第一题编写一个方法求一个字符串的字节长度newfunction(s){if(!arguments.length||!s)returnnull;if(''==s)return0;varl=0;for(vari=0;is.length;i++){if(s.charCodeAt(i)255)l+=2;elsel++;}alert(l);}('hello你好,我好,大家好!world!');第二题如何控制alert中的换行alert(hello\nworld);第三题解释document.getElementById(ElementID).style.fontSize=1.5em;em是个相对单位。第四题将一个类似图中的效果分离成css和html第五题按照格式xxxx年xx月xx日xx时xx分xx秒动态显示时间要求不足10的补0newfunction(){vart=function(a){returna10?0+a:a;}alert(newDate().getFullYear()+年+t(newDate().getMonth()+1)+月+t(newDate().getDate())+日+t(newDate().getHours())+时+t(newDate().getMinutes())+分+t(newDate().getSeconds())+秒);}第六题编写一个方法去掉一个数组的重复元素Array.prototype.strip=function(){if(this.length2)return[this[0]]||[]
本文标题:javascript前台工程师面试题
链接地址:https://www.777doc.com/doc-2878546 .html