JavaScript习题带答案.docx
- 文档编号:6496788
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:15
- 大小:23.53KB
JavaScript习题带答案.docx
《JavaScript习题带答案.docx》由会员分享,可在线阅读,更多相关《JavaScript习题带答案.docx(15页珍藏版)》请在冰豆网上搜索。
JavaScript习题带答案
JavaScript根底练习题
第四章习题一
一、判断题
1.在JavaScript中可以用十六进制形式表示浮点数常量。
2.空字符串〔"〕也是字符串常量。
3.使用单引号对〔''〕表示字符常量,而使用双引号对〔""〕表示字符串常量。
4.在定义JavaScript变量时,一定要指出变量名和值。
5.用var定义一个变量后,如果没有赋予任何值,则它的值是空值,即null.
6.JavaScript规定在使用任何变量之前必须先使用var声明它。
7.在使用var*=1声明变量*之后,赋值语句*="今天天气真好"将出错。
8.表达式的类型只取决于运算符,与操作数无关。
9.两个整数进展除〔/〕运算,其结果也为整数。
10.如果有定义vara=true,b;则allb的结果为true。
二、单项选择题
1.以下哪个常量值最大.
A.80B.0*65C.095D.0115
2.下面四个变量声明语句中,哪一个变量的命名是正确的.
A.vardefaultB.varmy_bouse C.varmydogD.var2cats
3.下面哪一个语句定义了一个名为pageNumber的变量并将它的值赋为240"
A.varPageNumber=240B.pagenumber=240
C.varpageNumber=240D.varintnamedpageNumber=240
4.下面哪一个字符串变量定义语句是不正确的.
A.varmyte*t="Hereissomete*t!
"B.varmyte*t='Hereissomete*t!
'
C.varmyte*t='Hereissomete*t!
"D.varmyte*t="Hereis\nsomete*t!
"
5.下面四个JavaScript语句中,哪一个是合法的.
A.document.write〔"Johnsaid,''Hi!
")
B.document.write〔"Johnsaid,''Hi!
"')
C.document.write〔"Johnsaid,''Hi!
")
D.document.write〔"Johnsaid,\''Hi!
\")
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.下面的哪一个表达式将返回真.
A.(3===3〕&&(5 (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.随机生成两个小数给变量*.y,然后显示这两个数中的最大值。 〔提示: 语句"var*=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(*=2)B.if(y<7)C.elseD.if(*==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(*=1;*<6;*+=1)B.for(*==1;*<6;*+=1) C.for(*=1;*=6;*+=1)D.for(*+=1;*<6;*=1)C、D都是死循环 23.循环语句"for(vari=0,j=10;i=j=10;i++,j--〕;〞的循环次数是_______。 〔D〕 A.0B.1C.10D.无限i=j=10是赋值语句 24.以下哪个while循环判定式最有可能是因程序员失误而写出的代码.〔B〕 A.while(*<=7)B.while(*=7)赋值符号C.while(*<7〕D.while(*! =7〕 25.语句"vari;while(i=0)i--;〞中while的循环次数是______。 〔A〕 A.0B.1C.5D.无限 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.有语句"var*=0;while(_____)*+=2: ",要使while循环体执行10次,空白处的循环判定式应写为: 〔C〕从0开场 A.*<10B.*<=10C.*<20D.*<=20 三、操作题 29.编写程序.通过用户输入的年龄判断是哪个年龄段的人〔儿童: 年龄<14;青少年: 14<=年龄<24;青年: 24<年龄<40;中年: 40<=年龄<60;老年: 年龄>=60〕,并在页面上输出判断结果。 var*=window.prompt("请输入您的年龄",0) if(*<14){ alert("您是儿童"); }elseif(14<=*<24){ alert("您是青少年"); }elseif(24<=*<40){ alert("您是青年"); }elseif(40<=*<60){ alert("您是中年"); }elseif(60<=*){ alert("您是老年"); } 30.编写程序,艰据用户输入的一个数字(0~6).通过警示对话框显示对应的星期几(0: 星期日;1: 星期一;……6: 星期六;)。 var*=parseInt(window.prompt("输入的一个数字(0~6)",0)) switch(*){ case0: alert("星期天"); break; case1: alert("星期一"); break; case2: alert("星期二"); break; case3: alert("星期三"); break; case4: alert("星期四"); break; case5: alert("星期五"); break; case6: alert("星期六"); break; default: alert("您输入的格式不对"); break; } 31.编写程序,计算10! (即1*2*3*·…10〕的结果(10的阶乘)。 vari=1; varsum=1; do{ sum=sum*i; i++; }while(i<=10); document.write("10! ="+sum); 32.编写程序,计算1! +2! +3! +…..+10! 的结果。 functionfactorial(y){ vari=1; varproduct=1; while(i<=y){ product=product*i; i++; } returnproduct; } varsum=0; for(*=1;*<=10;*++){ sum=sum+factorial(*); } document.write("1! +2! +3! +…..+10! ="+sum); 33.在页面上输出如下数字图案。 1 12 123 1234 12345 其中,每行的数字之间有一个空格间隔。 for(num=1;num<=5;num++){ for(*=1;*<=num;*++){ document.write(""+*); } document.write(" } 34.在页面上输出如以下列图案。 其中,每行的星号"*"之间有一个空格间隔。 for(num=5;num>=1;num--){ for(*=1;*<=num;*++){ document.write(" "); } for(y=5-num;y>=0;y--){ document.write("*"); } document.write(" } 35.有一个三位数*,被4除余2,被7除余3,被9除余5,请求出这个数。 36.求所有满足条件的四位数ABCD,它是13的倍数,且第3位数加上第2位数等于第4位数〔即: A=B+C〕。 〔提示: 对于四位数的整数*,通过Math.floor(*/1000)可求出第4位的数字,其他位数的提取也类似〕 第四章习题三 一、判断题 37.在JavaScript中只允许使用预定义的函数.而不能自定义函数。 〔否。 〕 38.函数定义可以没有函数体。 〔否。 函数里可以没用语句〔空语句〕,但是不能没有函数体〕 39.因为JavaScript函数有返回值,所以必须在定义函数时指明返回值的类型。 〔否。 〕 40.JavaScript的函数定义允许嵌套.即在函数中可以定义另一个函数。 〔是。 在许多语言里不允许,但JavaScript里可以〕 41.在不同函数定义中.允许定义同名的变量。 〔是。 〕 二、单项选择题 42.在JavaScript函数的定义格式中,下面各组成局部中,_____是可以省略的。 〔D〕 A.函数名B.指明函效的一对圆括写〔〕 C.函数体D.函数参效 43.如果有函数定义functionf(*,y){…},则以下正确的函数调用是_______。 〔C〕 A.f1,2没有括号B.f(1〕C.f(1,2)D.f(,2) 44.在JavaScript中,定义函数时可以使用_____个参数。 〔D〕 A.0B.1C.2D.任意 45.在JavaScript中,要定义一个全局变量*,可以_______。 〔D〕 A.使用关键字public在函数中定义B.使用关键字public在任何函数之外定义 C.使用关链字var在函教中定义D.使用关键宇var在任何函数之外定义 46.在JavaScript中,要定义一个局部变量*,可以______。 〔C〕 A.使用关健字private在函数中定义B.使用关健字private在任何函数之外定义 C.使用关健字var在函数中定义D.使用关健字var在任何函数之外定义 三、综合题 47. 编写一个函数f(*)=4*2+3*+2,使用户通过提示对话框瑜入*的值,能得到相应的计算结果。 48.编写一个函数Min(*,y)求出*,y这两个数中的最小值,要求*,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.对代码"var*=myhouse.kitchen;〞的哪种说明正确.〔〕 A.将字符串〞myhouse.kitchen.〞赋值给变量*。 B.将myhouse和kitchen的值相加之和赋给对象*。 C.假设myhouse对象存在,它将myhouse对象的kitchen属性值赋给变量*。 D.假设myhouse对象存在,它将kitchen对象的myhouse属性值赋给变量*. 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.varweekday=rightnow.getDate(); B.varweekday=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.inde*Of()B.charAt() C.charIsAt()D.inde*OfThePosition() 68.执行语句序列"vars="1234567890'';s=s.substr(5,2);〞之后,变量s的值是_______。 〔〕 A."52"B."56"C."67"D."78" 69.以下___语句不能创立数组.〔〕 A.varmyarray=newArray; B.varmyarray=newArray(5); C.varmyarray=newArray(''hello","hi","greetings"); D.varmyarray=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.编写程序,根据用户输入的数值,计算其平方、平方根和自然对数。 functionput(){ *=form1.num1.value; form1.result1.value=***; form1.result2.value=Math.sqrt(*); form1.result3.value=Math.log(*); }
");
");
73.使用Math对象的random()方法编制一个产生0~100之间〔含0,100〕的随机整数的函数。
var*=parseInt(Math.random()*100);
document.write(*);
74.设计一个页面,在页面上显示信息"现在是****年**月**日**点**分**秒〔星期*),欢迎您的到访!
"。
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+"),欢迎您的到访!
");
75.编制一个从字符串中收集数字字符〔"0"',"1",…"9"〕的函数CollectDigits(s),它从字符串s中顺序取出数字,并且合并为一个独立的字符串作为函数的返回值。
例如函数调用CollectDigits("1abc23def4"〕的返回值是字符串"1234"。
functionCollectDigits(s){
varresult=";
for(i=0;i tmp=s.substring(i).charCodeAt(); if(tmp>=48&&tmp<=57){ result+=String.fromCharCode(tmp); } } alert(result); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaScript 习题 答案