javascript前台工程师面试题1.docx

上传人:b****4 文档编号:11945461 上传时间:2023-04-16 格式:DOCX 页数:19 大小:23.89KB
下载 相关 举报
javascript前台工程师面试题1.docx_第1页
第1页 / 共19页
javascript前台工程师面试题1.docx_第2页
第2页 / 共19页
javascript前台工程师面试题1.docx_第3页
第3页 / 共19页
javascript前台工程师面试题1.docx_第4页
第4页 / 共19页
javascript前台工程师面试题1.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

javascript前台工程师面试题1.docx

《javascript前台工程师面试题1.docx》由会员分享,可在线阅读,更多相关《javascript前台工程师面试题1.docx(19页珍藏版)》请在冰豆网上搜索。

javascript前台工程师面试题1.docx

javascript前台工程师面试题1

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=[];//object

varobj2={};//object

varobj3=//;//undefine

alert(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.with

B.parent

C.class

D.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·with

3、请选择结果为真的表达式:

(c)

A.nullinstanceofObject(if(!

(nullinstanceofObject))是真的)

B.null===undefined

C.null==undefined

D.NaN==NaN

(1)null确实可以理解为原始类型,不能当Object理解!

null,int,float.....等这些用关键字表示的类型,都不属于Object.

至于可以把null作为参数,只是特殊规定而已.

可以这么理解:

对象的引用代表的是一个内存的值,null是一个空引用,可以理解为内存的值为0;按这个意思对代码

(2)functionf1(){

}

1.alert(f1instanceofFunction);//true

2.alert(f1instanceofObject);//true

3.alert(FunctioninstanceofObject);//true

4.alert(ObjectinstanceofFunction);//true

Function是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.att

B.foo(“att”)

C.foo[“att”]

D.foo{“att”}

E.foo[“a”+”t”+”t”]

6、在不指定特殊属性的情况下,哪几种HTML标签可以手动输入文本:

(ab)

A.

B.

C.

D.

7、以下哪些是javascript的全局函数:

(abc)

A.escape

B.parseFloat

C.eval

D.setTimeout

E.alert

8、关于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、结合text这段结构,谈谈innerHTMLouterHTMLinnerText之间的区别。

这个问题只要写一下看的很清楚

innerHTML对象里面的HTML,outerHTML包括对象和里面的

innerText对象里面的文本

4、说几条XHTML规范的内容(至少3条)

属性加引号,不能有不匹配的标签,加定义

5、对Web标准化(或网站重构)知道哪些相关的知识,简述几条你知道的Web标准?

网页主要由三部分组成:

结构(Structure)、表现(Presentation)和行为(Behavior)。

对应的网站标准也分三方面:

结构化标准语言,主要包括XHTML和XML;表现标准语言主要包括CSS;行为标准主要包括对象模型(如W3CDOM)、ECMAScript等。

四、程序题:

1、完成foo()函数的内容,要求能够弹出对话框提示当前选中的是第几个单选框。

2、数字反转

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;i

if(s.charCodeAt(i)>255)

l+=2;

else

l++;

}

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的补0

newfunction(){

vart=function(a){

returna<10?

"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.length<2)

return[this[0]]||[];

vararr=[];

for(vari=0;i

arr.push(this.splice(i--,1));

for(varj=0;j

if(this[j]==arr[arr.length-1]){

this.splice(j--,1);

}

}

}

returnarr;

}

vararr=["abc",85,"abc",85,8,8,1,2,5,4,7,8];

alert(arr.strip());

第七题

说出3条以上ff和ie的脚本兼容问题

第八题

按要求写一个简单的ajax示例简单的没意义就不写了

varBrowser={

/**

Browser对象用于检测浏览器,其中用到了IE的条件编译

*/

/*@cc_on

isIE:

true,

@*/

isFF:

window.navigator.appName.toUpperCase().indexOf("NETSCAPE")!

=-1?

true:

false,

isOpera:

window.navigator.appName.toUpperCase().indexOf("OPERA")!

=-1?

true:

false

};

Function.prototype.bind=function(object){

var_this=this;

returnfunction(){

_this.apply(object,arguments);

}

}

functionHttpRequest(){

this.async=true;

this.cache=false;

this.xmlhttp=function(){

if(Browser.isFF&&window.XMLHttpRequest){

try{

returnnewXMLHttpRequest();

}

catch(e){

}

}

else

if(Browser.isIE&&window.ActiveXObject){

varVersion=["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP.2.6","Msxml2.XMLHTTP","Microsoft.XMLHTTP.1.0","Microsoft.XMLHTTP.1","Microsoft.XMLHTTP"];

for(vari=0;i

try{

returnnewActiveXObject(Version[i]);

}

catch(e){

}

}

}

}()||

false;

}

HttpRequest.prototype={

send:

function(object,url,callback){

if(!

this.xmlhttp)

return;

this.xmlhttp.open(object?

"post":

"get",url,!

!

this.async);

if(object)

this.xmlhttp.setRequestHeader("content-type","application/x-www-form-urlencoded");

if(!

this.cache){

this.xmlhttp.setRequestHeader("No-Cache","1");

this.xmlhttp.setRequestHeader("Pragma","no-cache");

this.xmlhttp.setRequestHeader("Cache-Control","no-cache");

this.xmlhttp.setRequestHeader("Expire","0");

this.xmlhttp.setRequestHeader("Last-Modified","Wed,1Jan199700:

00:

00GMT");

this.xmlhttp.setRequestHeader("If-Modified-Since","-1");

}

if(!

this.callback)

this.callback=callback;

if(!

this.async){

if(typeof(this.callback)=="string"){

eval(this.callback);

}elseif(typeof(this.callback)=="function"){

this.callback(this.xmlhttp);

}

}else{

this.xmlhttp.onreadystatechange=function(){

if(this.xmlhttp.readyState==4){

if(this.xmlhttp.status==0||this.xmlhttp.status==200){

if(typeof(this.callback)=="string"){

eval(this.callback);

}

elseif(typeof(this.callback)=="function"){

this.callback(this.xmlhttp);

}

}

}

}.bind(this);

}

this.xmlhttp.send(object);

},

abort:

function(){

if(this.xmlhttp&&this.xmlhttp.abort)

this.xmlhttp.abort();

}

};

//ajax类定义结束

newHttpRequest().send(null,"",function(r){

document.getElementById("load").innerHTML=r.responseText.match(/

(?

:

\/)?

>/img).join("");

});

 

1、form中的input有哪些类型?

各是做什么处理使用的?

textradiocheckboxfilebuttonimagesubmitresethidden

  submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了。

如果表单在点击提交按钮后需要用JS进行处理(包括输入验证)后再提交的话,通常都必须把submit改成button,即取消其自动提交的行为,否则,将会造成提交两次的效果,对于动态网页来说,也就是对数据库操作两次。

button具有name、value属性,能触发onclick事件

submit继承了button

submit增加了触发表单onsubmit事件的功能、增加了执行表单的submit()方法的功能

INPUTtype=submit按回车提交表单

button提交的是innerTEXT

2、table标签中border,cellpaddingtd标签中colspan,rowspan分别起什么作用?

border边界

cellpadding边距

cellpadding,是补白,是指单元格内文字与边框的距离

cellspacing,两个单元格之间的距离

colspan跨列数

rowspan跨行数

3、form中的input可以设置readonly和disable,请问这两项属性有什么区别?

readonly不可编辑,但可以选择和复制

disable不能编辑复制选择

4、JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?

alert

confirm

prompt

内容摘要:

JavaScript中的对象是怎么一回事,JavaScript中的function的用法有时怎么样的.JavaScript的面试人员必须搞懂这些问题。

内容正文:

一.JavaScript中的对象.

JavaScript中的Object是一组数据的key-value的集合,有点类似于Java中的HashMap,所有这些数据都是Object里的property.通常情况下,JavaScript中建立一个对象用"new"加上constructorfunction来实现.如newDate(),newObject()等.

varbook=newObje

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1