一、判断题
- 1.if语句可以实现多路分支。
- 2.一个用switch语句实现的多路分支结构的程序段不能使用if语句实现。
- 3.任何循环语句的循环体至少要执行一次。
- 4.循环语句是可以嵌套的,不仅相同的循环语句可以嵌套,不同的循环语句也可以嵌套。
- 5.在JavaScript中,任何一种循环结构的程序段,都可以用while循环实现。
- 6.break语句可以出现在各种不同循环语句的循环体中。
- 7.continue语句只能出现在循环体中。
- 8.要排除程序中的错误只能使用专业化的调试工具。
二、单选题
- 1.下面不属于表达式语句的是( )
A. counter++;
B. i *= 3;
C. Math.cos(x);
D. ;
D - 2.下面关于 var 语句错误的是( )
A. var p, q;
B. var greeting = “hello”+name;
C. var x = 2, y = x*x;
D. var int f = function(x){return x*x}
D - 3.作为if/else语句的第一行,下列选项中哪一个是有效的?
A. if(x=2)
B. if(y<7)
C. else
D. if (x==2&&)
B - 4.下面代码的else语句表述正确的是( )
i = j = 1;
k = 2;
(1)if (i == j)
(2) if (j == k)
document.write(“i equals k”);
else
document.write(“i doesn’t equal j”);
A. 和(1)的if匹配
B. 和(2)的if匹配
C. else语句自己独立是一个语句
D. 语法错误
B - 5.下列关于switch语句的描述中,错误的是( )。
A. switch语句中default子句是可以省略的
B. switch语句中case子句的语句序列中必须包含break语句
C. switch语句中case子句后面的表达式可以是含有变量的整型表达式
D. switch语句中子句的个数不能过多
C - 6.在条件和循环语句中,使用什么来标记语句组?
A.圆括号()
B.方括号[ ]
C.花括号{}
D.大于号>和小于号<
C - 7.下列选项中哪一个可以作为for循环的有效的第一行?
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)
A - 8.循环语句“for(var i=0, j=10; i=j=10; i++, j–);”的循环次数是( )
A. 0
B. 1
C. 10
D. 无限
D - 9.请见如下代码:
var emp = new Array(3);
for (vari in emp)
以下答案中能与for循环代码互换的是()
A. for(var i=0;i<emp;i++)
B. for(vari=0;i<Array(3);i++)
C. for(vari=0;i<emp.length();i++)
D. for(var i=0;i<emp.length;i++)
D - 10.以下哪个while循环判定式最有可能是因程序员失误而写出的代码?
A. while(x<=7)
B. while(x=7)
C. while(x<7)
D. while(x!=7)
B - 11.语句“var i; while(i=0) i–;”中while的循环次数是( )
A. 0
B. 1
C.5
D. 无限
A - 12.下述关于循环语句的描述中,错误的是( )
A.循环体内可以包含有循环语句
B.循环体内必须同时出现break语句和continue语句
C.循环体内可以出现条件语句
D.循环体可以是空语句,即循环体中只出现一个分号;
B - 13.下述break语句的描述中,不正确的是( )
A. break语句用于循环体内,它将退出该重循环
B. break语句用于switch语句,它表示退出该switch语句
C. break语句用于if语句,它表示退出该if语句
D. break语句在一个循环体内可使用多次
A - 14.有语句“var x=0; while(_____) x+=2:”,要使while循环体执行10次,空白处的循环判定式应写为( )
A. x < 10
B. x <= 10
C. x<20
D. x<=20
C - 15.关于try/catch/finally语句,表述错误的是( )
A. try/catch/finally语句是JavaScript的异常处理机制
B. try从句定义了需要处理的异常所在的代码块
C. catch从句跟随在try从句之后,当try块内某处发生了异常时,调用catch内的代码逻辑
D. 只有try块中产生了异常,finally块内的逻辑才会执行
D - 16.关于with语句,表述错误的是( )
A. with语句用于临时扩展作用域链
B. 在严格模式中是禁止使用with语句
C. with语句会提高局部变量的访问速度
D. 在对象嵌套层次很深的时候通常会使用with语句来简化代码编写
C - 17.关于use strict的描述,错误的是( )
A. 在严格模式中禁止使用with语句
B. 当delete运算符后跟随非法的标识符时,将会抛出一个语法错误异常
C. 在严格模式中,调用的函数(不是方法)中的一个this值是window对象
D. 传入eval()的代码不能在调用程序所在的上下文中声明变量或定义函数
C
三、综合题
- 1.JavaScript有几种循环语句的写法?
- 2.解释下面的程序
i = j = 1;
k = 2;
if (i == j)
if (j == k)
document.write(“i equals k”);
else
document.write(“i doesn’t equal j”); - 3.解释下面的程序
var iterations = Math.floor(items.length / 8),
startAt = items.length % 8,
i = 0;
do {
switch(startAt){
case 0: process(items[i++]);
case 7: process(items[i++]);
case 6: process(items[i++]);
case 5: process(items[i++]);
case 4: process(items[i++]);
case 3: process(items[i++]);
case 2: process(items[i++]);
case 1: process(items[i++]);
}
startAt = 0;
} while (–iterations); - 4.优化下面的代码:
with(document.forms[0]){
name.value = “”;
address.value = “”
email.value = “”
} - 5.优化循环语句
for (var i=0, var len=items.length; i<len; i++){
process(items[i]);
}
var j=0;
while (j <items.length){
process(items[j++]]);
}
var k=0;
do {
process(items[k++]);
} while (k <items.length); - 6.计算下列程序的结果:
(1)
var a,b;
for(a=1,b=0; a>b; a++){
b=a;
alert(b);
}
(2)
function myFunc() {
var i, j=9;
while( i=j-1){
j-=3;
if(j<5) break;
i++;
}
return j;
}
(3)
a=1; b=2; c=2;
while (a<b<c){
t=a; a=b; b=t; c–;
}
document.writeln(“”+a+b+c); - 7.下列JavaScript代码执行后,alert的结果是()?
for(var i=0;j=0;i<10,j<6;i++;j++){
k = i + j;
}
alert(k); - 8.下列JavaScript代码执行后,iNum的结果是()?
for iNum = 0;
for(var i=1;i<10;i++){
if(i%5==0){
continue;
}
iNum++;
}
四、编程题
- 1.编写程序.通过用户输入的年龄判断是哪个年龄段的人(儿童:年龄<14;青少年:14<=年龄<24;青年:24<年龄<40; 中年:40<=年龄<60; 老年:年龄>=60),并在页面上输出判断结果。
- 2.编写程序,艰据用户输入的一个数字(0~6).通过警示对话框显示对应的星期几(0: 星期日; 1: 星期一;……6: 星期六;)。
- 3.编写程序,计算10!(即 1*2*3*?…10)的结果(10的阶乘)。
- 4.编写程序,计算 1!+2!+3!+…..+10!的结果。
- 5.在页面上输出如下数字图案。
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
其中,每行的数字之间有一个空格间隔。 - 6.在页面上输出如下图案。
其中,每行的星号”*”之间有一个空格间隔。 - 7.有一个三位数x,被4除余2,被7除余3,被9除余5,请求出这个数。
- 8.求所有满足条件的四位数ABCD,它是13的倍数,且第3位数加上第2位数等于第4位数(即:A=B+C)。(提示:对于四位数的整数x,通过Math.floor(x/1000)可求出第4位的数字,其他位数的提取也类似)
- 9.使用二重循环打印9×9乘法表。
提示:
(1)第一个乘数(乘号前的乘数)的变化规律:从第一行倒第九行,第一个乘数从1变到9,与行号相同
(2)第二个乘数(乘号后的乘数)的变化规律:从1开始,最大与行号相等
(3)可以用i代表第一个乘数,用j代表第二个乘数,那么每一行j与i的关系是:j<=i。
运行效果如下图所示:
1×1=1
2×1=2 2×2=4
3×1=3 3×2=6 3×3=9
4×1=4 4×2=8 4×3=12 4×4=16
转载请注明:陈童的博客 » JavaScript中语句的练习题