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