【JS】javascript面试题(入门级)吐槽解析版

这一套面试题是我随便在网上找的一份,不知道是哪个公司出的,感觉很简单,任何有一点JS基础的人都能看得懂,然后最后几题比较有趣,实践性很强~

最近在学习JS,会看很多面试题的,稍后整理好了继续发上来~

@qiujumper

 

一、不定项选择题 (每题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)};没有function
C. var obj = {name:zhangsan,show:function(){alert(name);}};function中没有this
D. var obj = {name:zhangsan,show:function(){alert(this.name);}};
2. 以下关于Array数组对象的说法不正确的是( CD )
A. 对数组里数据的排序可以用sort函数,如果排序效果非预期,可以给sort函数加一个排序函数的参数
B. reverse用于对数组数据的倒序排列
C. 向数组的最后位置加一个新元素,可以用pop方法\\pop() 方法用于删除并返回数组的最后一个元素。

D. unshift方法用于向数组删除第一个元素\\unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

3. 要将页面的状态栏中显示已经选中该文本框,下列JavaScript语句正确的是( 
A. window.status=已经选中该文本框//status 属性可设置或返回窗口状态栏中的文本。据我们所知,不少浏览器已经关闭了脚本化它们的状态栏的功能。这是一项安全措施,防止隐藏了超链接真正目的的钓鱼攻击。

B. document.status=已经选中该文本框
C. window.screen=已经选中该文本框
D. document.screen=已经选中该文本框
4. 点击页面的按钮,使之打开一个新窗口,加载一个网页,以下JavaScript代码中可行的是( AD )
A. <input type=button” value=new
οnclick=open(new.html_blank)/>
B. <input type=button” value=new
οnclick=window.location=new.html;/>\\多了一个;符号,改成<input type="button" value="new" οnclick="window.location='new.html'"> 这样应该行


C. <input type=button” value=new
οnclick=location.assign(new.html);/>\\还是多了分号改成<input type="button" value="good" οnclick="location.assign('new.html')"/>可以实现了
D. <form target=_blankaction=new.html>
<inputtype=submit” value=new/>
</form>
5. 使用JavaScript向网页中输出<h1>hello</h1>,以下代码中可行的是( BD )
A. <scripttype=text/javascript>
document.write(<h1>hello</h1>);
</script>\\会解析掉HTML标记
B. <scripttype=text/javascript>
document.write(<h1>hello</h1>);
</script>//放在双引号里面便成了字符串,不会解析(理论上),不过我放在w3cschool上面,还是会解析,估计是浏览器的问题,不解释
C. <scripttype=text/javascript>
<h1>hello</h1>
</script>//仍旧会解析,测试过了
D. <h1>
<scripttype=text/javascript>
document.write(hello);
</script>
</h1>//B选项
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>

</form>

</body>

</html>

以下说法中正确的是( CD )//这一题我不太懂,不知道在什么地方调用了函数,测试结果没能实现C的效果;
A. 在页面的第二个文本框中输入内容后,当鼠标离开第二个文本框时,第一个文本框的内容不变
B. 在页面的第一个文本框中输入内容后,当鼠标离开第一个文本框时,将在第二个文本框中复制第一个文本框的内容
C. 在页面的第二个文本框中输入内容后,当鼠标离开第二个文本框时,将在第一个文本框中复制第二个文本框的内容
D. 在页面的第一个文本框中输入内容后,当鼠标离开第一个文本框时,第二个文本框的内容不变
7. 下面的JavaScript语句中,( D )实现检索当前页面中的表单元素中的所有文本框,并将它们全部清空//document.forms.length表示的是页面中表单的个数,而document.forms.elements.length表示一个表单中所有元素的个数,把这两者的关系弄懂,这题就很简单了
A. for(vari=0;i< form1.elements.length;i++) {
if(form1.elements.type==text)
form1.elements.value=";}
B. for(vari=0;i<document.forms.length;i++) {
if(forms[0].elements.type==text)
forms[0].elements.value=";
}
C. if(document.form.elements.type==text)
form.elements.value=";
D. for(vari=0;i<document.forms.length; i++){
for(var j=0;j<document.forms.elements.length; j++){
if(document.forms.elements[j].type==text)
document.forms.elements[j].value=";
}
}
8. 在表单(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(无效的电话号码!);
9. 关于正则表达式声明6位数字的邮编,以下代码正确的是( C )
A. var reg = /\d6/;
B. var reg = \d{6}\;
C. var reg = /\d{6}/;  \d 表示数字,{6}表示连续6个的意思
D. var reg = new RegExp(\d{6});
10. 关于JavaScript里的xml处理,以下说明正确的是( BCD )
A. Xml是种可扩展标记语言,格式更规范,是作为未来html的替代//2者的功能完全不一样,不存在谁替代谁之说
B. Xml一般用于传输和存储数据,是对html的补充,两者的目的不同
C. JavaScript里解析和处理xml数据时,因为浏览器的不同,其做法也不同
D. IE浏览器里处理xml,首先需要创建ActiveXObject对象//IE就是这么 麻烦的

二、问答题
1. 列举浏览器对象模型BOM里常用的至少4个对象,并列举window对象的常用方法至少5个 10分)
对象:Window  JavaScript 层级中的顶层对象。Window 对象表示浏览器窗口。每当 <body> 或者 <frameset> 标签出现,Window 对象就会被自动创建。

document 代表整个 HTML 文档,用来访问页面中的所有元素。

location 包含了当前URL的信息。

screen 包含客户端显示屏的信息。

history 包含了浏览器窗口访问过的 URL

Navigator 包含客户端浏览器的信息。
方法:Alert() confirm() prompt() open() 打开一个新的浏览器窗口或查找一个已命名的窗口。close() 关闭浏览器窗口。
2. 简述列举文档对象模型DOMdocument的常用的查找访问节点的方法并做简单说明 10分)

document.getElementByIdx_x_x 根据元素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=buttonvalue=关闭窗口οnclick=closeWin()/>
</body>
</html>
2、写出简单描述html标签(不带属性的开始标签和结束标签)的正则表达式,并将以下字符串中的html标签去除掉15分)
var str = <div>这里是div<p>里面的段落</p></div>;
//
<scripttype=text/javascript>
varreg = /<\/?\w+\/?>/gi;    // 正则表达式的知识,不好解释,自己去看相关的资料吧
varstr = <div>这里是div<p>里面的段落</p></div>;
alert(str.replace(reg,"));
</script>
3、完成foo()函数的内容,要求能够弹出对话框提示当前选中的是第几个单选框。10分)
<html>
<head>
<metahttp-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.checked){  //checked表示已经勾选的框
alert(您选择的是第+(i+1)+个单选框);

}

}
</script>
<body>
<form name=form1″ >
<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.getElementByIdx_x("pic").src=str+".jpg";
}
</script>
<img id=picsrc=img1.jpgwidth=200″ height=200″ />
<br />
<select id=sel>
<option value=img1>城市生活</option>
<option value=img2>都市早报</option>
<option value=img3>青山绿水</option>
</select></body>

//这个程序不是很难理解,但是功能却很实用

http://www.jb51.net/article/29540.htm  解释了getElementByIdx_x

转载于:https://my.oschina.net/qiujumper/blog/75300

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值