资源描述
JavaScript基础练习题
第四章习题一
一、判断题
1. 在JavaScript中可以用十六进制形式表示浮点数常量。
2. 空字符串("")也就是字符串常量。
3. 使用单引号对(' ')表示字符常量,而使用双引号对(" ")表示字符串常量。
4. 在定义JavaScript变量时,一定要指出变量名与值。
5. 用var定义一个变量后,如果没有赋予任何值,那么它得值就是空值,即null、
6. JavaScript规定在使用任何变量之前必须先使用var声明它。
7. 在使用var x=1声明变量x之后,赋值语句x="今天天气真好"将出错。
8. 表达式得类型只取决于运算符,与操作数无关。
9. 两个整数进行除(/)运算,其结果也为整数。
10. 如果有定义var a=true,b;那么a ll b得结果为true。
二、单选题
1.以下哪个常量值最大?
A、80 B、 0X65 C、095 D、0115
2.下面四个变量声明语句中,哪一个变量得命名就是正确得?
A、 var default B、 var my_bouse C、 var my dog D、 var 2cats
3.下面哪一个语句定义了一个名为pageNumber得变量并将它得值赋为240?
A、 var PageNumber=240 B、 pagenumber=240
C、 var pageNumber=240 D、 var int named pageNumber=240
4.下面哪一个字符串变量定义语句就是不正确得?
A、 var mytext = "Here is some text!" B、 var mytext = 'Here is some text!'
C、 var mytext = 'Here is some text!" D、 var mytext = "Here is\nsome text!"
5.下面四个JavaScript语句中,哪一个就是合法得?
A、 document、write("John said ,''Hi!"")
B、 document、write("John said ,''Hi!"')
C、 document、write("John said ,''Hi!")
D、 document、write("John said ,\''Hi!\"")
6.下面哪一个不就是JavaScript运算符?
A、 = B、 == C、 && D、 $#
7.表达式123%7得计算结果就是
A、 2 B、 3 C、 4 D、 5
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得值就就是当天所属得年份值。
var today = new Date(); //获取当天日期
var year = today、getFullYear(); //获取当天年份
第四章习题二
一、判断题
1. if语句可以实现多路分支。(就是。)
2. 一个用switch语句实现得多路分支结构得程序段不能使用if语句实现。(否。可用多个if语句,两者就是相通得)
3. 任何循环语句得循环体至少要执行一次。(否。只有Do…while…语句)
4. 循环语句就是可以嵌套得,不仅相同得循环语句可以嵌套,不同得循环语句也可以嵌套。(就是。三种循环语句可以任意相互嵌套,个数不限。但就是过多得循环嵌套会使得逻辑混乱,容易出错,所以使用中嵌套三重循环及以下得比较常见。)
5. 在JavaScript中,任何一种循环结构得程序段,都可以用while循环实现。(就是。For与while就是相通得)
6. break语句可以出现在各种不同循环语句得循环体中。(就是。)
7. continue语句只能出现在循环体中。(就是。)
8. 要排除程序中得锗误只能使用专业化得调试工具。(否。)
二、单选题
1. 作为if/else语句得第一行,下列选项中哪一个就是有效得?(B)
A、 if(x=2) B、 if(y<7) C、 else D、 if (x==2&&)
2. 下列关于switch语句得描述中,_____就是正确得。(A)
A、 switch语句中default子句就是可以省略得
B、 switch语句中case子句得语句序列中必须包含break语句
C、 switch语句中case子句后面得表达式可以就是含有变量得整型表达式
D、 switch语句中子句得个数不能过多
3. 在条件与循环语句中,使用什么来标记语句组?(C)
A.圆括号() B.方括号[] C.花括号{} D.大于号>与小于号<
4. 下列选项中哪一个可以作为for循环得有效得第一行?(A)
A、 for(x=1;x<6;x+=1) B、 for(x==1;x<6;x+=1)
C、 for(x=1;x=6;x+=1) D、 for(x+=1;x<6;x=1) C、D都就是死循环
5. 循环语句“for(var i=0,j=10; i=j=10; i++, j--);”得循环次数就是_______。(D)
A、 0 B、 1 C、 10 D、 无限 i=j=10就是赋值语句
6. 以下哪个while循环判定式最有可能就是因程序员失误而写出得代码?(B)
A、 while(x<=7) B、 while(x=7) 赋值符号 C、 while(x<7) D、 while(x!=7)
7. 语句“var i; while(i=0) i--;”中while得循环次数就是______。(A)
A、 0 B、 1 C、5 D、 无限
8. 下述关于循环语句得描述中,_____就是错误得.(B)
A.循环体内可以包含有循环语句
B.循环体内必须同时出现break语句与continue语句
C.循环体内可以出现条件语句
D.循环体可以就是空语句,即循环体中只出现一个分号; 空语句可用于延时
9. 下述break语句得描述中,_____就是不正确得.(C)
A、 break语句用于循环体内,它将退出该重循环
B、 break语句用于switch语句,它表示退出该switch语句
C、 break语句用于if语句,它表示退出该if语句(break就是用于终止循环得,如for循环与while循环。在没有循环得结构内加上break当然会报错了)
D、 break语句在一个循环体内可使用多次
10. 有语句“var x=0; while(_____) x+=2:",要使while循环体执行10次,空白处得循环判定式应写为:(C) 从0开始
A.x<10 B、 x<=10 C、 x<20 D、 x<=20
三、操作题
1. 编写程序.通过用户输入得年龄判断就是哪个年龄段得人(儿童:年龄<14;青少年:14<=年龄<24;青年:24<年龄<40; 中年:40<=年龄<60; 老年:年龄>=60),并在页面上输出判断结果。
<script>
var x=window、prompt("请输入您得年龄",0)
if (x<14){
alert ("您就是儿童");
}else if(14<=x<24){
alert ("您就是青少年");
}else if(24<=x<40){
alert ("您就是青年");
}else if(40<=x<60){
alert ("您就是中年");
}else if(60<=x){
alert ("您就是老年");
}
</script>
2. 编写程序,艰据用户输入得一个数字(0~6).通过警示对话框显示对应得星期几(0: 星期日; 1: 星期一;……6: 星期六;)。
<script>
var x=parseInt(window、prompt("输入得一个数字(0~6)",0))
switch (x) {
case 0:
alert ("星期天");
break;
case 1:
alert ("星期一");
break;
case 2:
alert ("星期二");
break;
case 3:
alert ("星期三");
break;
case 4:
alert ("星期四");
break;
case 5:
alert ("星期五");
break;
case 6:
alert ("星期六");
break;
default:
alert ("您输入得格式不对");
break;
}
</script>
3. 编写程序,计算10!(即 1*2*3*·…10)得结果(10得阶乘)。
<script>
var i=1;
var sum=1;
do{
sum=sum*i;
i++;
}while(i<=10);
document、write("10!="+sum);
</script>
4. 编写程序,计算 1!+2!+3!+…、、+10!得结果。
<script>
function factorial(y){
var i=1;
var product=1;
while(i<=y){
product=product*i;
i++;
}
return product;
}
var sum=0;
for (x=1;x<=10;x++){
sum = sum + factorial(x);
}
document、write("1!+2!+3!+…、、+10!="+sum);
</script>
5. 在页面上输出如下数字图案。
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
其中,每行得数字之间有一个空格间隔。
<script>
for (num=1;num<=5;num++){
for (x=1;x<=num;x++){
document、write(" "+x);
}
document、write("<br>");
}
</script>
6. 在页面上输出如下图案。
其中,每行得星号"*"之间有一个空格间隔。
<script>
for (num=5;num>=1;num--){
for (x=1;x<=num;x++){
document、write(" ");
}
for (y=5-num;y>=0;y--){
document、write("* ");
}
document、write("<br>");
}
</script>
7. 有一个三位数x,被4除余2,被7除余3,被9除余5,请求出这个数。
8. 求所有满足条件得四位数ABCD,它就是13得倍数,且第3位数加上第2位数等于第4位数(即:A=B+C)。(提示:对于四位数得整数x,通过Math、floor(x/1000)可求出第4位得数字,其她位数得提取也类似)
第四章习题三
一、判断题
1. 在JavaScript中只允许使用预定义得函数.而不能自定义函数。(否。)
2. 函数定义可以没有函数体。(否。函数里可以没用语句(空语句),但就是不能没有函数体)
3. 因为JavaScript函数有返回值,所以必须在定义函数时指明返回值得类型。(否。)
4. JavaScript得函数定义允许嵌套.即在函数中可以定义另一个函数。(就是。在许多语言里不允许,但JavaScript里可以)
5. 在不同函数定义中.允许定义同名得变量。(就是。)
二、单选题
1. 在JavaScript函数得定义格式中,下面各组成部分中,_____就是可以省略得。(D)
A、 函数名 B、 指明函效得一对圆括写()
C、 函数体 D、 函数参效
2. 如果有函数定义function f(x,y){…},那么以下正确得函数调用就是_______。(C)
A、 f 1 ,2 没有括号 B、 f(1) C、 f(1,2) D、 f(,2)
3. 在JavaScript中,定义函数时可以使用_____个参数。(D)
A、 0 B、 1 C、 2 D、 任意
4. 在JavaScript中,要定义一个全局变量x,可以_______。(D)
A、 使用关键字public在函数中定义 B、 使用关键字public在任何函数之外定义
C、 使用关链字var在函教中定义 D、 使用关键宇var在任何函数之外定义
5. 在JavaScript中,要定义一个局部变量x,可以______。(C)
A、 使用关健字private在函数中定义 B、 使用关健字private在任何函数之外定义
C、 使用关健字var在函数中定义 D、 使用关健字var在任何函数之外定义
三、综合题
1. 编写一个函数 f(x) = 4x2+3x+2,使用户通过提示对话框瑜入x得值,能得到相应得计算结果。
2. 编写一个函数Min(x,y)求出x,y这两个数中得最小值,要求x,y得值由用户通过提示对话框输入。
3. 编写一个判断某个非负整数就是否能够同时被3,5,7整除得函数,然后在页面上输出1~1000之间所有能同时被3,5,7整除得整数,并要求每行显示6个这样得数。
4. 在页面上编程输出100~1000之间得所有素数,并要求每行显示6个素数。
5. 编写一个非递归函数factorial(n),计算12!-10!得结果。
6. 编写一个带一个参数(指定显示多少层星号“*”得函数,它在页面止输出得一个5层星号“*”图案类似。
其中,每行得星号“*”之间有一个空格间隔。
7. 斐波纳契(Fibonacci)数列得第一项就是1,第二项就是1,以后各项都就是前两项得与。试用递归函数与非递归函数各编写一个程序,求斐波纳契数列第N项得值。
8. 编写函数,用下面得公式计算π得近似值。
在页面上输出当n=100,500,1000,10000时π得近似值。
9. 利用全局变量与函数,设计模拟幸运数字机游戏。设卒运数字为8,每次由计算机随机产生3个1-9之间(包括1与9)得随机数,当这3个随机数中有一个数字为8时,就算赢了一次,要求利用函数计算获胜率。
第六章习题
一、判断题
1. 在JavaScript中,只能使用预定义对象,而不能使用自定义对象。()
2. 在JavaScript中,当使用new运算符创建一个对象变量后,一定要使用delete运算符把创建得对象变量撤销。()
3. 要使用任何一个JavaScript对象得方法与属性,必须先使用new运算符创建它。()
4. 在调用Date对象得属性与方法之前,必须先使用new运算符创建一个Date对象。()
5. 不能使用普通得for循环语句遍历数组中得所有元素。()
二、单选题
1. 在JavaScript中,通过下面得_____运算符访问对象得属性与方法。()
A.加运算符(+) B.点运算符(、)
C.乘运算符(*) D.不能访问
2. 对代码 "var x=myhouse、kitchen;”得哪种说明正确?()
A.将字符串”myhouse、kitchen、”赋值给变量x。
B.将myhouse与kitchen得值相加之与赋给对象x。
C.假设myhouse对象存在,它将myhouse对象得kitchen属性值赋给变量x。
D.假设myhouse对象存在,它将kitchen对象得myhouse属性值赋给变量x、
3. 下面哪一条语句在页面上显示圆周率π? ()
A、 document、write(Math、Pi) B、 document、write(Math、pi)
C、 document、write(Math、PI) D、document、write(Date、Pi)
4. 以下______表达式产生一个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())
5. 以下______语句把日期对象rightnow得星期号赋给变量weekday。()
A、 var weekday = rightnow、getDate();
B、 var weekday = rightnow、getDay();
C、 var weekday = rightnow、getWeek();
D、 var weekday = rightnow、getWeekday();
6. 创建字符串对象有哪两种方法?()
A.使用new运算符创建String对象与直接将字符串赋给变量。
B.使用new运算符创建Array对象与直接将字符串赋给变量。
C.使用new运算符创建Number对象与直接将字符串赋给变量。
D.使用new运算符创建Date对象与直接将字符串赋给变量。
7. 以下String对象得_____方法得到指定位置处得字符?()
A、 indexOf() B、 charAt()
C、 charIsAt() D、 indexOfThePosition()
8. 执行语句序列“var s="1234567890''; s=s、substr(5,2);”之后,变量s得值就是_______。()
A、 "52" B、 "56" C、 "67" D、 "78"
9. 以下___语句不能创建数组、 ()
A、 var myarray = new Array ;
B、 var myarray = new Array(5);
C、 var myarray=new Array(''hello" ,"hi","greetings");
D、 var myarray =new Array[10];
10. 以下______语句将正确访问cool数组中得第5个元素。()
A、 cool[5] B、 cool(5) C、 cool[4] D、 cool(4)
11. Array对象得______属性将返回表示数组长度得数值。()
A、 length属性 B、 getLength属性 C、 size属性 D、 getsize属性
三、综合题
1. 编写程序,根据用户输入得数值,计算其平方、平方根与自然对数。
<script>
function put(){
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>
<input name="输出" type="button" value="输出" onClick="put()"/>
</label></p>
<p>
<label>平 方:
<input name="result1" type="text"/>
</label> </p>
<p>
<label>平 方 根:
<input name="result2" type="text"/>
</label> </p>
<p>
<label>自然对数:
<input name="result3" type="text"/>
</label> </p>
</form></body>
2. 使用Math对象得random()方法编制一个产生0~100之间(含0,100)得随机整数得函数。
<script>
var x= parseInt(Math、random()*100);
document、write(x);
</script>
3. 设计一个页面,在页面上显示信息“现在就是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>
4. 编制一个从字符串中收集数字字符("0"',"1",…"9")得函数CollectDigits(s),它从字符串s中顺序取出数字,并且合并为一个独立得字符串作为函数得返回值。例如函数调用CollectDigits("1abc23def4")得返回值就是字符串"1234"。
<script>
function CollectDigits(s) {
var result = "";
for ( i = 0; i < s、length; i++) {
tmp = s、substring(i)、charCodeAt();
if (tmp >= 48 && tmp <= 57) {
result += String、fromCharCode(tmp);
}
}
alert(result);
}
</script>
<body>
<input type="button" value="CollectDigits" onclick="CollectDigits('1abc23def4')">
</body>
5. 编制一个将两个字符串交叉合并得函数Merge(s1,s2),例如Merge("123","abc")得返回结果就是"1a2b3c",如果两个字符串得长度不同,那么就将多余部分直接合并到结果字符串得末尾,如Merge("123456",''abc'')得返回结果就是”1a2b3c456”。
<script>
function Merge(s1,s2) {
var result = "";
for ( i = 0; i<= s1、length || i<= s2、length; i++) {
tmp1 = s1、charCodeAt(i);
tmp2 = s2、charCodeAt(i);
if (tmp1>0 && tmp2>0){
result += String、fromCharCode(tmp1)、concat(String、fromCharCode(tmp2));
}else if (tmp1>0){
result += String、fromCharCode(tmp1);
}else if (tmp2>0){
result += String、fromCharCode(tmp2);
}
}
alert(result);
}
</script>
<body>
<input type="button" value="Merge" onclick="Merge('123456','abc')">
</body>
6. 设计一个程序,它(使用一个数组)接收用户输入得7门课程得成绩,然后在页面上显示其总成绩与平均分,并列出小于60得成绩。
<script type = "text/javascript">
var score=new Array(7)
var sum=0,avg=0,min60=0;
for(var i=0;i<score、length;i++){
var str=window、prompt("请输入第"+(i+1)+"个成绩",1);
score[i]=parseInt(str);
}
document、write(score);
for(i=0;i<score、length;i++){
sum+=score[i]
}
document、write("<br>总成绩为"+sum)
avg=sum/7;
document、write("<br>平均分为"+avg)
document、write("<br>不及格分数分别为")
for(i=0;i<score、length;i++){
if(score[i]<60){
document、write(score[i]+" ")
}
}
</script>
7. 斐波纳契(Fibonacci)数列得第一项就是1,第二项就是1,以后各项都就是前两项得与。请按逆序在页面中显示斐波纳契数列前40项得值(即,如果计算出来得数列就是1,1,2,3,5,8…,那么显示得顺序就是…,8,5,3,2,1,1),并要求每行显示6个数。
8. 设计一个函数DayOfYear(d),它接必一个日期参数d,返回一个该日期就是所在年份得第几天,如DayOfYear(2000,2,8)得返回值就是39、
(提示:①定义一个数组months=new Array(31,28,31,30,31,30,31,31,30,31,30,31)记录每个月少天:②定义一个辅助函数IsLeapYear(y)判定某个年份就是否闰年,以确定2月份得天数就是28还就是29。)
展开阅读全文