JavaScript习题带标准答案文档格式.docx
《JavaScript习题带标准答案文档格式.docx》由会员分享,可在线阅读,更多相关《JavaScript习题带标准答案文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
8.表达式"
123abe"-"
123"
的计算结果是_。
A."
abc"
B.0 C."
123abc123"
D.NaN
9.赋值运算符的作用是什么?
A.给一个变量赋新值B.给一个变量赋予一个新名
C.执行比较运算 D.没有任何用处
10.比较运算符的作用是什么?
A.执行数学计算 B.处理二进制位,目前还不重要
C.比较两个值或表达式,返回真或假 D. 只比较数字,不比较字符串
11.下面的哪一个表达式将返回真?
A.(3===3)&
&
(5<l) B. !
(17<
=20)
C.(3!
=3)||(7<
2) D.(1===1)||(3<2)
12.下面的哪一个表达式将返回假?
A.!
(3<
=l) B. (4>
=4)&
(5<
=2)
C.("
a"
=="
a")&
("
c"
!
="d") D.(2<
3) ||(3<
2)
13.下列各种运算符中,_____优先级最高。
A.+ B. && C.== D.*=
三、综合题
1.随机生成两个小数给变量x.y,然后显示这两个数中的最大值。
(提示:
语句“var x=Math.random();
”可为变量生成一个随机小数:
另外,使用条件运算符‘'?
:
2.如果某年的年份值是4的倍数并且不是100的倍数,或者该年份值是400的倍数,那么这一年就是闰年。
请编制一个页面,该页面显示当天是否处于闰年。
提示:
使用以下语句,可使变量year的值就是当天所属的年份值。
vartoday=newDate();
//获取当天日期
varyear=today.getFullYear();
//获取当天年份
第四章习题二
11.if语句可以实现多路分支。
(是。
12.一个用switch语句实现的多路分支结构的程序段不能使用if语句实现。
(否。
可用多个if语句,两者是相通的)
13.任何循环语句的循环体至少要执行一次。
只有Do…while…语句)
14.循环语句是可以嵌套的,不仅相同的循环语句可以嵌套,不同的循环语句也可以嵌套。
三种循环语句可以任意相互嵌套,个数不限。
但是过多的循环嵌套会使得逻辑混乱,容易出错,所以使用中嵌套三重循环及以下的比较常见。
15.在JavaScript中,任何一种循环结构的程序段,都可以用while循环实现。
For和while是相通的)
16.break语句可以出现在各种不同循环语句的循环体中。
17.continue语句只能出现在循环体中。
18.要排除程序中的锗误只能使用专业化的调试工具。
19.作为if/else语句的第一行,下列选项中哪一个是有效的?
(B)
A.if(x=2) B.if(y<
7) C.else D.if(x==2&
20.下列关于switch语句的描述中,_____是正确的。
(A)
A.switch语句中default子句是可以省略的
B.switch语句中case子句的语句序列中必须包含break语句
C. switch语句中case子句后面的表达式可以是含有变量的整型表达式
D.switch语句中子句的个数不能过多
21.在条件和循环语句中,使用什么来标记语句组?
(C)
A.圆括号() B.方括号[] C.花括号{} D.大于号>
和小于号<
22.下列选项中哪一个可以作为for循环的有效的第一行?
(A)
A.for(x=1;
x<
6;
x+=1)B.for(x==1;
6;
x+=1)
C.for(x=1;
x=6;
x+=1) D.for(x+=1;
x<
6;
x=1)ﻩC、D都是死循环
23.循环语句“for(vari=0,j=10;
i=j=10;
i++,j--);
”的循环次数是_______。
(D)
A.0 B. 1 C.10 D.无限i=j=10是赋值语句
24.以下哪个while循环判定式最有可能是因程序员失误而写出的代码?
A.while(x<=7) B.while(x=7) 赋值符号 C.while(x<7)D.while(x!
=7)
25.语句“var i;
while(i=0)i--;
”中while的循环次数是______。
A.0B.1C.5 D.无限ﻩ
26.下述关于循环语句的描述中,_____是错误的.(B)
A.循环体内可以包含有循环语句
B.循环体内必须同时出现break语句和continue语句
C.循环体内可以出现条件语句
D.循环体可以是空语句,即循环体中只出现一个分号;
空语句可用于延时
27.下述break语句的描述中,_____是不正确的.(C)
A.break语句用于循环体内,它将退出该重循环
B.break语句用于switch语句,它表示退出该switch语句
C.break语句用于if语句,它表示退出该if语句(break是用于终止循环的,如for循环和while循环。
在没有循环的结构内加上break当然会报错了)
D.break语句在一个循环体内可使用多次
28.有语句“varx=0;
while(_____)x+=2:
要使while循环体执行10次,空白处的循环判定式应写为:
(C) 从0开始
A.x<10 B. x<=10 C.x<
20D.x<
=20
三、操作题
29.编写程序.通过用户输入的年龄判断是哪个年龄段的人(儿童:
年龄<14;
青少年:
14<
=年龄<
24;
青年:
24<
年龄<40;
中年:
40<
=年龄<60;
老年:
年龄>
=60),并在页面上输出判断结果。
<script>
var x=window.prompt("
请输入您的年龄"
0)
if(x<14){
ﻩalert ("您是儿童");
}elseif(14<
=x<
24){
alert("
您是青少年");
}elseif(24<
=x<40){
alert("您是青年"
);
}elseif(40<=x<
60){
alert ("
您是中年"
}elseif(60<
=x){
ﻩalert("
您是老年"
}
<
/script>
30.编写程序,艰据用户输入的一个数字(0~6).通过警示对话框显示对应的星期几(0:
星期日;
1:
星期一;
……6:
星期六;
)。
<script>
varx=parseInt(window.prompt("
输入的一个数字(0~6)"
0))
switch(x) {
case0:
ﻩalert("
星期天"
ﻩﻩbreak;
ﻩcase 1:
alert("星期一");
break;
ﻩcase2:
alert("
星期二"
ﻩbreak;
ﻩcase3:
ﻩalert ("
星期三"
ﻩbreak;
case 4:
星期四"
);
ﻩbreak;
ﻩcase5:
星期五"
ﻩbreak;
ﻩcase6:
alert("星期六"
ﻩbreak;
default:
ﻩalert("
您输入的格式不对");
ﻩbreak;
}
</script>
31.编写程序,计算10!
(即 1*2*3*·
…10)的结果(10的阶乘)。
<script>
var i=1;
varsum=1;
do{
sum=sum*i;
ﻩi++;
}while(i<=10);
document.write("
10!
="
+sum);
/script>
32.编写程序,计算1!
+2!
+3!
+…..+10!
的结果。
script>
function factorial(y){
vari=1;
ﻩvarproduct=1;
while(i<
=y){
ﻩproduct=product*i;
i++;
}
returnproduct;
varsum=0;
for(x=1;
=10;
x++){
ﻩsum= sum +factorial(x);
document.write("
1!
+3!
+…..+10!
+sum);
/script>
33.在页面上输出如下数字图案。
1
12
1 23
12 3 4
1 2345
其中,每行的数字之间有一个空格间隔。
<script>
for(num=1;
num<
=5;
num++){
for(x=1;
=num;
x++){
ﻩdocument.write("
+x);
ﻩ}
ﻩdocument.write("
<br>
/script>
34.在页面上输出如下图案。
其中,每行的星号"
*"之间有一个空格间隔。
<script>
for(num=5;
num>
=1;
num--){
for (x=1;
=num;
x++){
ﻩﻩdocument.write("
&nbsp;
ﻩ}
for(y=5-num;
y>
=0;
y--){
ﻩdocument.write("
*"
ﻩdocument.write("<
br>
");
</script>
35.有一个三位数x,被4除余2,被7除余3,被9除余5,请求出这个数。
36.求所有满足条件的四位数ABCD,它是13的倍数,且第3位数加上第2位数等于第4位数(即:
A=B+C)。
对于四位数的整数x,通过Math.floor(x/1000)可求出第4位的数字,其他位数的提取也类似)
第四章习题三
37.在JavaScript中只允许使用预定义的函数.而不能自定义函数。
38.函数定义可以没有函数体。
函数里可以没用语句(空语句),但是不能没有函数体)
39.因为JavaScript函数有返回值,所以必须在定义函数时指明返回值的类型。
40.JavaScript的函数定义允许嵌套.即在函数中可以定义另一个函数。
在许多语言里不允许,但JavaScript里可以)
41.在不同函数定义中.允许定义同名的变量。
42.在JavaScript函数的定义格式中,下面各组成部分中,_____是可以省略的。
(D)
A.函数名B.指明函效的一对圆括写()
C.函数体 D.函数参效
43.如果有函数定义functionf(x,y){…},那么以下正确的函数调用是_______。
A.f1 ,2没有括号B.f(1)C.f(1,2) D.f(,2)
44.在JavaScript中,定义函数时可以使用_____个参数。
A.0 B.1 C.2D.任意
45.在JavaScript中,要定义一个全局变量x,可以_______。
A.使用关键字public在函数中定义 B.使用关键字public在任何函数之外定义
C. 使用关链字var在函教中定义D. 使用关键宇var在任何函数之外定义
46.在JavaScript中,要定义一个局部变量x,可以______。
(C)
A.使用关健字private在函数中定义 B.使用关健字private在任何函数之外定义
C.使用关健字var在函数中定义 D.使用关健字var在任何函数之外定义
47.
编写一个函数 f(x) = 4x2+3x+2,使用户通过提示对话框瑜入x的值,能得到相应的计算结果。
48.编写一个函数Min(x,y)求出x,y这两个数中的最小值,要求x,y的值由用户通过提示对话框输入。
49.编写一个判断某个非负整数是否能够同时被3,5,7整除的函数,然后在页面上输出1~1000之间所有能同时被3,5,7整除的整数,并要求每行显示6个这样的数。
50.在页面上编程输出100~1000之间的所有素数,并要求每行显示6个素数。
51.编写一个非递归函数factorial(n),计算12!
-10!
52.编写一个带一个参数(指定显示多少层星号“*”的函数,它在页面止输出的一个5层星号“*”图案类似。
其中,每行的星号“*”之间有一个空格间隔。
53.斐波纳契(Fibonacci)数列的第一项是1,第二项是1,以后各项都是前两项的和。
试用递归函数和非递归函数各编写一个程序,求斐波纳契数列第N项的值。
54.编写函数,用下面的公式计算π的近似值。
在页面上输出当n=100,500,1000,10000时π的近似值。
55.利用全局变量和函数,设计模拟幸运数字机游戏。
设卒运数字为8,每次由计算机随机产生3个1-9之间(包括1和9)的随机数,当这3个随机数中有一个数字为8时,就算赢了一次,要求利用函数计算获胜率。
第六章习题
56.在JavaScript中,只能使用预定义对象,而不能使用自定义对象。
()
57.在JavaScript中,当使用new运算符创建一个对象变量后,一定要使用delete运算符把创建的对象变量撤销。
58.要使用任何一个JavaScript对象的方法和属性,必须先使用new运算符创建它。
59.在调用Date对象的属性和方法之前,必须先使用new运算符创建一个Date对象。
60.不能使用普通的for循环语句遍历数组中的所有元素。
61.在JavaScript中,通过下面的_____运算符访问对象的属性和方法。
A.加运算符(+) B.点运算符(.)
C.乘运算符(*) D.不能访问
62.对代码"
varx=myhouse.kitchen;
”的哪种说明正确?
A.将字符串”myhouse.kitchen.”赋值给变量x。
B.将myhouse和kitchen的值相加之和赋给对象x。
C.假设myhouse对象存在,它将myhouse对象的kitchen属性值赋给变量x。
D.假设myhouse对象存在,它将kitchen对象的myhouse属性值赋给变量x.
63.下面哪一条语句在页面上显示圆周率π?
()
A. document.write(Math.Pi)B.document.write(Math.pi)
C.document.write(Math.PI) D.document.write(Date.Pi)
64.以下______表达式产生一个0-7之间(含0,7)的随机整数。
A.Math.floor(Math.random()*6) B.Math.floor(Math.random()*7)
C. Math.floor(Math.random()*8)D.Math.sqrt(Math.random())
65.以下______语句把日期对象rightnow的星期号赋给变量weekday。
A.var weekday =rightnow.getDate();
B.var weekday =rightnow.getDay();
C.varweekday=rightnow.getWeek();
D.varweekday= rightnow.getWeekday();
66.创建字符串对象有哪两种方法?
A.使用new运算符创建String对象和直接将字符串赋给变量。
B.使用new运算符创建Array对象和直接将字符串赋给变量。
C.使用new运算符创建Number对象和直接将字符串赋给变量。
D.使用new运算符创建Date对象和直接将字符串赋给变量。
67.以下String对象的_____方法得到指定位置处的字符?
A.indexOf() B.charAt()
C.charIsAt() D. indexOfThePosition()
68.执行语句序列“var s="1234567890'
;
s=s.substr(5,2);
”之后,变量s的值是_______。
52"
B. "
56"
C."67"
D."78"
69.以下___语句不能创建数组.()
A.varmyarray=new Array;
B. varmyarray=newArray(5);
C.var myarray=newArray('
hello"
,"
hi"
"
greetings"
D.var myarray =newArray[10];
70.以下______语句将正确访问cool数组中的第5个元素。
A.cool[5]B. cool(5)C.cool[4] D.cool(4)
71.Array对象的______属性将返回表示数组长度的数值。
A.length属性 B. getLength属性 C.size属性 D.getsize属性
72.编写程序,根据用户输入的数值,计算其平方、平方根和自然对数。
<
script>
functioncomput(){
x= form1.num1.value;
ﻩ form1.result1.value=x*x;
form1.result2.value = Math.sqrt(x);
form1.result3.value=Math.log(x);
}
<
/script>
body>
form method="
get"name="
form1"
>
p>
label>
输入数值
<
input name="
num1"
type="
text"/>
</label>
/p>
<p>
label>
<inputname="
输出"
type="button"value="
onClick="comput()"
/>
/label><
/p>
p>
label>
平&
nbsp;
nbsp;
nbsp;
nbsp;
方:
<
inputname="
result1"
type="
text"/>
/label>
/p>
<
label>平&nbsp;
方&nbsp;
根:
inputname="
result2"
text"
/>
/label></p>
p>
label>
自然对数:
inputname="result3"type="text"
<
/label>
/form><
/body>
73.使用Math对象的random()方法编制一个产生0~100之间(含0,100)的随机整数的函数。
<script>
varx=parseInt(Math.random()*100);
document.write(x);
/script>
74.设计一个页面,在页面上显示信息“现在是XXXX年XX月XX日Xx点XX分XX秒(星期X),欢迎您的到访!
“。
script>
today=new Date()
year=today.getFullYear()
month =today.getMonth()+1
date =today.getDate()
hour =today.getHours()
minutes=today.getMinutes()
seconds=today.getSeconds()
day=today.getDay()
alert("现在是"+year+"
年"
+month+"
月"
+date+"日"
+hour+"
时"
+minutes+"
分"
+seconds+"
秒(星期"
+day+"
),欢迎您的到访!
/script>
75.编制一个从字符串中收集数字字符("
0"
1"
…"
9"
)的函数CollectDigits(s),它从字符串s中顺序取出数字,并且合并为一个独立的字符串作为函数的返回值。
例如函数调用CollectDigits("
1abc23def4"
)的返回值是字符串"
1234"
。
script>
function CollectDigits