杰普javascript精彩试题一.docx
《杰普javascript精彩试题一.docx》由会员分享,可在线阅读,更多相关《杰普javascript精彩试题一.docx(10页珍藏版)》请在冰豆网上搜索。
杰普javascript精彩试题一
第一题:
单项选择题(每题只有一个答案)【每题1分,共15分】
1. 我们可以在下列哪个HTML元素中放置javascript代码(A)
A.
B.
C.
D.
2. 预测以下代码片段的输出结果:
(B)
varstr;
alert(typeofstr);
A.string;
B.undefined;
C.object;
D.String;
3. 下列哪个不是Javascript中注释的正确写法:
(A)
A.
--……-->
B.//……
C./*……*/
D.
/*
……
*/
4. 以下哪项不属于Javascript的特征?
(C)
A.Javascript是一种脚本语言
B.Javascript是事件驱动的
C.Javascript代码需要编译以后才能执行
D.Javascript是独立于平台的
5. 阅读下面的JavaScript代码:
functionf(y){
varx=y*y;
returnx;
}
for(x=0;x<5;x++){
y=f(x);
document.writeln(y);
}
输出结果是(B)。
A.01234
B.014916
C.01491625
D.以上答案都不对
6. 关于Javascript中数组的说法中,不正确的是:
(A)
A.数组的长度必须在创建时给定,之后便不能改变
B.由于数组是对象,因此创建数组需要使用new运算符
C.数组内元素的类型可以不同
D.数组可以在声明的同时进行初始化
7. 以下关于Javascript中事件的描述中,不正确的是:
(D)
A.click——鼠标单击事件
B.focus——获取焦点事件
C.mouseover——鼠标指针移动到事件源对象上时触发的事件
D.change——选择字段时触发的事件
8.以下代码片段:
functionStudent(name){
this.name=name;
this.move=function(){
alert(this.name+"准备移动了");
}
}
Student.prototype.move=function(){
alert(this.name+"开始移动了!
");
}
varst=newStudent("李四");
st.move();
下列说法正确的是(A)
A.输出”李四准备移动了”
B.输出”李四开始移动了”
C.输出”李四准备移动了李四开始移动了””
D.程序出错,没有任何输出。
9 预测以下代码片段的输出结果(C)
add(10);//覆盖
functionadd(i){vark=i+10;alert(k);};
functionadd(i){vark=i+20;alert(k);};
A.40B.20C.30D.程序出错
10. 预测以下代码片段的输出结果(C)
varstudent=newObject();
student.study=function(){window.alert(“开始学习了”);}
study();
A.输出“开始学习了”
B.程序出错。
不能在实例化对象之后,再添加方法
C.程序出错。
study()方法不能直接调用。
应该用student来调用
D.程序出错。
给student.study赋值时,右边的函数必须有名字
11. 考察以下程序片段:
varstr=“12px”;
vars=str.indexof(“2”);
alert(s);
以下选项正确的是(A)
A.输出1
B.输出2
C.输出p
D.输出12
12. 考察以下程序片段(D)
functionPerson(){
}
Person.prototype.move=function(){
alert(this.name+“移动”);
}
functionStudent(name){
this.name=name;
}
Student.prototype.study=function(){
alert(this.name+”学习”);
}
Student.prototype=newPerson();
varst=newStudent(“张三丰”);
st.study();
st.move();
以下选项正确的是?
A.依次输出”张三丰学习”“张三丰移动”
B.依次输出”张三丰学习”“移动”
C.输出”张三丰学习”,之后程序出错
D.程序出错,什么都不能输出
13 以下不属于Javascript基本类型的是(C)
A.string
B.number
C.function
D.boolean
14. Javascript是如何实现继承的?
(A)
A.创建父类对象作为子类的原型(prototype)
B.使用extends关键子继承父类
C.创建子类对象作为父类的原型(prototype)
D.使用class关键子继承父类
15. 分析以下程序片段
varvalue=3;
vara=newObject();
a.value=1;
b=a;
b.value=2;
alert(a.value);
以下选项正确的是?
(B)
A.1B.2C.3D.undefined
第二题:
多项选择题(每题至少有一个答案正确,答错不给分,漏选给一半分)【每题2分,共20分】
1.声明一个对象,给它加上name属性和show方法显示其name值,以下代码中正确的是(D)
A.varobj=[
name:
"zhangsan",
show:
function(){alert(name);}
];
B.varobj={
name:
"zhangsan",
show:
"alert(this.name)"
};
C.varobj={
name:
"zhangsan",
show:
function(){alert(name);}
};
D.varobj={
name:
"zhangsan",
show:
function(){alert(this.name);}
};
2.以下关于Array数组对象的说法不正确的是(CD)
A.对数组里数据的排序可以用sort函数,如果排序效果非预期,可以给sort函数加一个排序函数的参数
B.reverse用于对数组数据的倒序排列
C.向数组的最后位置加一个新元素,可以用pop方法
D.unshift方法用于向数组删除第一个元素
3.点击页面的按钮,使之打开一个新窗口,加载一个网页,以下JavaScript代码中可行的是(AD)
A.
B.
C.
D.
4.阅读以下代码:
vars="true";
varo={toString:
function(){returnfalse}}
alert(s+o);
以下选项正确的是:
(A)
A.truefalseB.true0C.1falseD.10
5.阅读以下代码:
vara=1;
run(a);
functionrun(foo){
console.log(foo);
functionfoo(){
alert(123);
}//先加载函数
foo=2;
console.log(foo);
}
输出结果为:
(C)
A.12
B.1232
C.functionfoo(){alert(123);}2
D.代码错误,没有输出结果
6.foo对象有attr属性,以下获取attr属性的值的的做法正确的是:
(ACD)
A.foo.attrB.foo("attr");
C.foo["attr"];
D.varname="attr";foo[name]
7.以下创建数组语法正确的是:
(AC)
A.vararr=newArray(10);
B.vararr=new[1,2,3,4];
C.vararr=[1,"true",{name:
"briup"}];
D.vararr={1,2,3};
8.阅读以下代码,运行结果为:
(A)
varnum=1;
varobj={
num:
2,
showNum:
showNum
}
functionshowNum(){
console.log(this.num);
}
obj.showNum();
showNum();
A.21B.22C.11D.12
9.阅读以下代码,运行结果为(D)
vara="12a12b"
console.log(parseInt(a));
console.log(Number(a));
A.121212B.1212NaNC.NaN1212D.12NaN
10.阅读以下代码,运行结果为:
(B)
varname="tom";
functionperson(name){
this.name=name;
returnthis.name;
}
console.log(person("terry"));
console.log(newperson("tom"));
A.tomperson{name:
"tom"}
B.terryperson{name:
"tom"}
C.terrytom
D.tomterry
第三题:
填空题【每空1分,共25分】
1.至少列出六个常用的String对象的方法_charAt,charCodeAt_IndexOf,_concat,_slice_,_substr______。
2.至少列出六个常用的Array对象的方法______,_______,_______,_______,_______,_______。
3.javascript中常用的继承机制为____________和____________。
4.在循环语句中,结束本次循环紧接着执行一下次循环的关键字为__________,退出当前循环体的关键字为__________。
5.javascript中,系统对话框有_________,_________,_________
6.非IE浏览器中阻止默认事件的方法为_____________,阻止事件冒泡的方法为_____________。
7.下面代码可能运行的结果是_____5________;
(function(){
vara=b=5;
})();
console.log(b);
8.下面代码输出的结果是什么_____________
functiontest(){
console.log(a);
console.log(foo());
vara=1;
functionfoo(){
return2;
}
}
test();
9.运行下面代码得到的结果是什么_____________
varfullname='tom';
varobj={
fullname:
'larry',
prop:
{
fullname:
'terry',
getFullname:
function(){
returnthis.fullname;
}
}
};
console.log(obj.prop.getFullname());
vartest=obj.prop.getFullname;
console.log(test());
10.如何将类数组对象转换为数组__________________________.
第四题:
编程题【每空10分,共40分】
1.模仿jquery中的html方法,通过javascript语法完成myHtml()函数。
2.完成add()函数,要求可以实现任意个数值的之间的加法运算,将结果返回。
functionadd(){
varsum=0;
for(vari=0;isum+=arguments[i];
}
returnsum;
}
3.实现一段脚本,使得点击对应链接alert出相应的编号:
第一个链接
第二个链接
第三个链接
第四个链接
4.列举使用javascript语法为dom节点添加事件的几种方式,并编码实现各浏览器之间的兼容。