JavaScript习题(带答案) 下载本文

JavaScript基础练习题

第四章习题一 一、判断题 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 二、单选题

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

在JavaScript中可以用十六进制形式表示浮点数常量。 空字符串(\)也是字符串常量。

使用单引号对(' ')表示字符常量,而使用双引号对(\)表示字符串常量。 在定义JavaScript变量时,一定要指出变量名和值。

用var定义一个变量后,如果没有赋予任何值,那么它的值是空值,即null. JavaScript规定在使用任何变量之前必须先使用var声明它。

在使用var x=1声明变量x之后,赋值语句x=\今天天气真好\将出错。 表达式的类型只取决于运算符,与操作数无关。 两个整数进行除(/)运算,其结果也为整数。 如果有定义var a=true,b;那么a ll b的结果为true。

C. var pageNumber=240 D. var int named pageNumber=240 4.下面哪一个字符串变量定义语句是不正确的?

A. var mytext = \ B. var mytext = 'Here is some text!' C. var mytext = 'Here is some text!\ D. var mytext = \5.下面四个JavaScript语句中,哪一个是合法的?

A. document.write(\B. document.write(\C. document.write(\D. document.write(\6.下面哪一个不是JavaScript运算符?

A. = B. == C. && D. $# 7.表达式123%7的计算结果是

A. 2 B. 3 C. 4 D. 5 8.表达式\的计算结果是_。

A. \ B. 0 C. \ D. NaN 9.赋值运算符的作用是什么?

A. 给一个变量赋新值 B. 给一个变量赋予一个新名 C. 执行比较运算 D. 没有任何用处 10.比较运算符的作用是什么?

A.执行数学计算 B. 处理二进制位,目前还不重要 C.比较两个值或表达式,返回真或假 D. 只比较数字,不比较字符串 11.下面的哪一个表达式将返回真?

A. (3===3)&&(5

A. !(3<=l) B. (4>=4) && (5<=2)

C. (\ 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. 2.

if语句可以实现多路分支。(是。)

一个用switch语句实现的多路分支结构的程序段不能使用if语句实现。(否。可用

多个if语句,两者是相通的) 3.

任何循环语句的循环体至少要执行一次。(否。只有Do…while…语句)

4. 循环语句是可以嵌套的,不仅相同的循环语句可以嵌套,不同的循环语句也可以嵌套。

(是。三种循环语句可以任意相互嵌套,个数不限。但是过多的循环嵌套会使得逻辑混乱,容易出错,所以使用中嵌套三重循环及以下的比较常见。)

5. 在JavaScript中,任何一种循环结构的程序段,都可以用while循环实现。(是。

For和while是相通的)

6. 7. 8. 二、单选题 1.

break语句可以出现在各种不同循环语句的循环体中。(是。) continue语句只能出现在循环体中。(是。)

要排除程序中的锗误只能使用专业化的调试工具。(否。)

作为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),并在页面上输出判断结果。

2.

编写程序,艰据用户输入的一个数字(0~6).通过警示对话框显示对应的星期几(0: 星

期日; 1: 星期一;……6: 星期六;)。 3. 4. 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,请求出这个数。

for (x=1;x<=num;x++){ }

for (y=5-num;y>=0;y--){ }

document.write(\

document.write(\document.write(\

8. 求所有满足条件的四位数ABCD,它是13的倍数,且第3位数加上第2位数等于第

4位数(即:A=B+C)。(提示:对于四位数的整数x,通过Math.floor(x/1000)可求出第4位的数字,其他位数的提取也类似)

第四章习题三 一、判断题 1. 2.

在JavaScript中只允许使用预定义的函数.而不能自定义函数。(否。) 函数定义可以没有函数体。(否。函数里可以没用语句(空语句),但是不能没有函

数体) 3. 4.

因为JavaScript函数有返回值,所以必须在定义函数时指明返回值的类型。(否。) 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. 5. 6.

在页面上编程输出100~1000之间的所有素数,并要求每行显示6个素数。 编写一个非递归函数factorial(n),计算12!-10!的结果。

编写一个带一个参数(指定显示多少层星号“*”的函数,它在页面止输出的一个5

层星号“*”图案类似。

其中,每行的星号“*”之间有一个空格间隔。 7.

斐波纳契(Fibonacci)数列的第一项是1,第二项是1,以后各项都是前两项的和。

试用递归函数和非递归函数各编写一个程序,求斐波纳契数列第N项的值。 8.

编写函数,用下面的公式计算π的近似值。

在页面上输出当n=100,500,1000,10000时π的近似值。 9.

利用全局变量和函数,设计模拟幸运数字机游戏。设卒运数字为8,每次由计算机随

机产生3个1-9之间(包括1和9)的随机数,当这3个随机数中有一个数字为8时,就算赢了一次,要求利用函数计算获胜率。

第六章习题 一、判断题 1. 2.

在JavaScript中,只能使用预定义对象,而不能使用自定义对象。()

在JavaScript中,当使用new运算符创建一个对象变量后,一定要使用delete运

算符把创建的对象变量撤销。() 3. 4.

() 5. 二、单选题 1.

在JavaScript中,通过下面的_____运算符访问对象的属性和方法。()

A.加运算符(+) B.点运算符(.) C.乘运算符(*) D.不能访问 2.

对代码 \”的哪种说明正确?()

A.将字符串”myhouse.kitchen.”赋值给变量x。 B.将myhouse和kitchen的值相加之和赋给对象x。

不能使用普通的for循环语句遍历数组中的所有元素。()

要使用任何一个JavaScript对象的方法和属性,必须先使用new运算符创建它。() 在调用Date对象的属性和方法之前,必须先使用new运算符创建一个Date对象。

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=\”之后,变量s的值是_______。

A. \ B. \ C. \ D. \9.

以下___语句不能创建数组. ()

A. var myarray = new Array ; B. var myarray = new Array(5);

C. var myarray=new Array(''hello\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.

编写程序,根据用户输入的数值,计算其平方、平方根和自然对数。

2.

使用Math对象的random()方法编制一个产生0~100之间(含0,100)的随机整

数的函数。 3.

设计一个页面,在页面上显示信息“现在是XXXX年XX月XX日Xx点XX分XX秒

(星期X),欢迎您的到访!“。

4. 编制一个从字符串中收集数字字符(\,…\)的函数CollectDigits(s),它

从字符串s中顺序取出数字,并且合并为一个独立的字符串作为函数的返回值。例如函数调用CollectDigits(\)的返回值是字符串\。

5.

编制一个将两个字符串交叉合并的函数Merge(s1,s2),例如Merge(\)

的返回结果是\,如果两个字符串的长度不同,那么就将多余部分直接合并到结果字符串的末尾,如Merge(\)的返回结果是”1a2b3c456”。

6.

设计一个程序,它(使用一个数组)接收用户输入的7门课程的成绩,然后在页面

上显示其总成绩和平均分,并列出小于60的成绩。

document.write(score[i]+\

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。)