javaScript面试题

来源:互联网 发布:kmspico是什么软件 编辑:程序博客网 时间:2024/04/29 20:47
JavaScript面试笔试题

一、不定项选择题 (每题3分,共30分)

1 声明一个对象,给它加上name属性和show方法显示其name值,以下代码中正确的是(   D  )

A. var  obj = [name:"zhangsan",show:function(){alert(name);}];

B. var  obj = {name:"zhangsan",show:”alert(this.name)”};

C. var  obj = {name:"zhangsan",show:function(){alert(name);}};

D. var  obj = {name:"zhangsan",show:function(){alert(this.name);}};

2 以下关于Array数组对象的说法不正确的是(   CD 

A. 对数组里数据的排序可以用sort函数,如果排序效果非预期,可以给sort函数加一个排序函数的参数

B.reverse用于对数组数据的倒序排列

C.向数组的最后位置加一个新元素,可以用pop方法

D.unshift方法用于向数组删除第一个元素

3. 要将页面的状态栏中显示“已经选中该文本框”,下列JavaScript语句正确的是( A  )

A.window.status="已经选中该文本框"

B.document.status="已经选中该文本框"

C.window.screen="已经选中该文本框"

D. document.screen="已经选中该文本框"

4 点击页面的按钮,使之打开一个新窗口,加载一个网页,以下JavaScript代码中可行的是(  AD   )

A.<input type="button" value="new" onclick="open('new.html', '_blank') "/>

B.<input type="button" value="new" onclick="window.location='new.html';"/>

C.<input type="button" value="new" onclick=" location.assign('new.html');"/>

D. <form target="_blank" action="new.html">

         <input type="submit" value="new"/>

   </form>

5. 使用JavaScript向网页中输出<h1>hello</h1>,以下代码中可行的是(    BD  )

A.<script type="text/javascript">

document.write(<h1>hello</h1>);

</script>

B.<script type="text/javascript">

document.write("<h1>hello</h1>");

</script>

C.<script type="text/javascript">

<h1>hello</h1>

</script>

<h1>

D.<script type="text/javascript">

  document.write("hello");

</script>

</h1>

6. 分析下面的代码:

复制代码
<html><head>       <script type="text/javascript">          function writeIt (value) { document.myfm.first_text.value=value;}       </script></head><body bgcolor="#ffffff">    <form name="myfm">        <input type="text" name="first_text">        <input type="text" name="second_text" onchange="writeIt(value)">    </form></body></html>
复制代码

以下说法中正确的是(    CD  )

A.在页面的第二个文本框中输入内容后,当鼠标离开第二个文本框时,第一个文本框的内容不变

B.在页面的第一个文本框中输入内容后,当鼠标离开第一个文本框时,将在第二个文本框中复制第一个文本框的内容

C.在页面的第二个文本框中输入内容后,当鼠标离开第二个文本框时,将在第一个文本框中复制第二个文本框的内容

D.在页面的第一个文本框中输入内容后,当鼠标离开第一个文本框时,第二个文本框的内容不变

7 下面的JavaScript语句中,(  D  )实现检索当前页面中的表单元素中的所有文本框,并将它们全部清空

A. for(var i=0;i< form1.elements.length;i++) {

          if(form1.elements[i].type=="text")

                form1.elements[i].value="";}

B. for(var i=0;i<document.forms.length;i++) {

           if(forms[0].elements[i].type=="text")

               forms[0].elements[i].value="";}

           if(document.form.elements.type=="text")

              form.elements[i].value="";

C. for(var i=0;i<document.forms.length; i++){

D. for(var j=0;j<document.forms[i].elements.length; j++){

       if(document.forms[i].elements[j].type=="text")

           document.forms[i].elements[j].value="";

       }

}

7 在表单(form1)中有一个文本框元素(fname),用于输入电话号码,格式如:010-82668155,要求前3位是010,紧接一个“-”,后面是8位数字。要求在提交表单时,根据上述条件验证该文本框中输入内容的有效性,下列语句中,(A )能正确实现以上功能

A.var str= form1.fname.value;

        if(str.substr(0,4)!="010-" || str.substr(4).length!=8 ||

             isNaN(parseFloat(str.substr(4))))

   alert("无效的电话号码!");

B.var str= form1.fname.value;

        if(str.substr(0,4)!="010-"  &&  str.substr(4).length!=8  &&

             isNaN(parseFloat(str.substr(4))))

   alert("无效的电话号码!");

C.var str= form1.fname.value;

        if(str.substr(0,3)!="010-" || str.substr(3).length!=8 ||

             isNaN(parseFloat(str.substr(3))))

   alert("无效的电话号码!");

D.var str= form1.fname.value;

        if(str.substr(0,4)!="010-" && str.substr(4).length!=8  &&

             !isNaN(parseFloat(str.substr(4))))

   alert("无效的电话号码!");

8 关于正则表达式声明6位数字的邮编,以下代码正确的是( C   )

A.var  reg = /\d6/;

B.var  reg = \d{6}\;

C.var  reg = /\d{6}/;

D.var  reg = new RegExp("\d{6}");

9 关于JavaScript里的xml处理,以下说明正确的是(   BCD   )

A.Xml是种可扩展标记语言,格式更规范,是作为未来html的替代

B.Xml一般用于传输和存储数据,是对html的补充,两者的目的不同

C.在JavaScript里解析和处理xml数据时,因为浏览器的不同,其做法也不同

D.在IE浏览器里处理xml,首先需要创建ActiveXObject对象

二、问答题

1.  列举浏览器对象模型BOM里常用的至少4个对象,并列举window对象的常用方法至少5个 (10分)

对象:Window  document  location  screen  history  navigator

方法:Alert()  confirm()  prompt()  open()  close()

2  简述列举文档对象模型DOM里document的常用的查找访问节点的方法并做简单说明 (10分)

Document.getElementById           根据元素id查找元素

Document.getElementByName     根据元素name查找元素

Document.getElementTagName    根据指定的元素名查找元素

三、程序题

1、补充按钮事件的函数,确认用户是否退出当前页面,确认之后关闭窗口; (10分)

复制代码
<html><head><script  type="text/javascript" >function closeWin(){//在此处添加代码if(confirm("确定要退出吗?")){        window.close();   }}</script></head><body>    <input type="button" value="关闭窗口" onclick="closeWin()"/></body></html>
复制代码

2、写出简单描述html标签(不带属性的开始标签和结束标签)的正则表达式,并将以下字符串中的html标签去除掉(15分)

复制代码
 var str = "<div>这里是div<p>里面的段落</p></div>";      //<script type="text/javascript">      var reg = /<\/?\w+\/?>/gi;      var str = "<div>这里是div<p>里面的段落</p></div>";      alert(str.replace(reg,""));</script>
复制代码

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

复制代码
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body><script  type="text/javascript" >function   foo()   {//在此处添加代码   var rdo = document.form1.radioGroup;   for(var i =0 ;i<rdo.length;i++){        if(rdo[i].checked){              alert("您选择的是第"+(i+1)+"个单选框");        }      }}</script><body><form   name="form1"   onsubmit="return foo();">  <input   type="radio"   name="radioGroup"/>  <input   type="radio"   name="radioGroup"/>  <input   type="radio"   name="radioGroup"/>  <input   type="radio"   name="radioGroup"/>  <input   type="submit"/></form></body></html>
复制代码

4、完成函数showImg(),要求能够动态根据下拉列表的选项变化,更新图片的显示 (15分)

复制代码
<body><script  type="text/javascript" >function   showImg (oSel)   {//在此处添加代码 var str = oSel.value;       document.getElementById("pic").src = str+".jpg";}</script><img id="pic" src="img1.jpg" width="200" height="200" /><br /><select  id="sel" onchange="showImg(this)">  <option value="img1">城市生活</option>  <option value="img2">都市早报</option>  <option value="img3">青山绿水</option></select></body>
复制代码
原创粉丝点击