收藏 分销(赏)

JavaScript习题(带答案).doc

上传人:天**** 文档编号:4374859 上传时间:2024-09-14 格式:DOC 页数:21 大小:51.54KB 下载积分:10 金币
下载 相关 举报
JavaScript习题(带答案).doc_第1页
第1页 / 共21页
JavaScript习题(带答案).doc_第2页
第2页 / 共21页


点击查看更多>>
资源描述
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("&nbsp;"); } 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>平&nbsp;&nbsp;&nbsp;&nbsp;方: <input name="result1" type="text"/> </label> </p> <p> <label>平&nbsp;方&nbsp;根: <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。)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服