JavaScript基礎(chǔ)練習(xí)題
第四章習(xí)題一
一、判斷題
1. 在JavaScript中可以用十六進(jìn)制形式表示浮點(diǎn)數(shù)常量。
2. 空字符串("")也是字符串常量。
3. 使用單引號(hào)對(duì)( )表示字符常量,而使用雙引號(hào)對(duì)(" ")表示字符串常量。
4. 在定義JavaScript變量時(shí),一定要指出變量名和值。
5. 用var定義一個(gè)變量后,如果沒(méi)有賦予任何值,那么它的值是空值,即null.
6. JavaScript規(guī)定在使用任何變量之前必須先使用var聲明它。
7. 在使用var x=1聲明變量x之后,賦值語(yǔ)句x="今天天氣真好"將出錯(cuò)。
8. 表達(dá)式的類型只取決于運(yùn)算符,與操作數(shù)無(wú)關(guān)。
9. 兩個(gè)整數(shù)進(jìn)行除(/)運(yùn)算,其結(jié)果也為整數(shù)。
10. 如果有定義var a=true,b;那么a ll b的結(jié)果為true。
二、單選題
1.以下哪個(gè)常量值最大?
A.80 B. 0X65 C.095 D.0115
2.下面四個(gè)變量聲明語(yǔ)句中,哪一個(gè)變量的命名是正確的?
A. var default B. var my_bouse C. var my dog D. var 2cats
3.下面哪一個(gè)語(yǔ)句定義了一個(gè)名為pageNumber的變量并將它的值賦為240?
A. var PageNumber=240 B. pagenumber=240
C. var pageNumber=240 D. var int named pageNumber=240
4.下面哪一個(gè)字符串變量定義語(yǔ)句是不正確的?
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.下面四個(gè)JavaScript語(yǔ)句中,哪一個(gè)是合法的?
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.下面哪一個(gè)不是JavaScript運(yùn)算符?
A. = B. == C. && D. $#
7.表達(dá)式123%7的計(jì)算結(jié)果是
A. 2 B. 3 C. 4 D. 5
8.表達(dá)式"123abe"-"123"的計(jì)算結(jié)果是_。
A. "abc" B. 0 C. "123abc123" D. NaN
9.賦值運(yùn)算符的作用是什么?
A. 給一個(gè)變量賦新值 B. 給一個(gè)變量賦予一個(gè)新名
C. 執(zhí)行比較運(yùn)算 D. 沒(méi)有任何用處
10.比較運(yùn)算符的作用是什么?
A.執(zhí)行數(shù)學(xué)計(jì)算 B. 處理二進(jìn)制位,目前還不重要
C.比較兩個(gè)值或表達(dá)式,返回真或假 D. 只比較數(shù)字,不比較字符串
11.下面的哪一個(gè)表達(dá)式將返回真?
A. (3===3)&&(5=4) && (5<=2)
C. ("a"=="a" ) && ("c"!="d") D. (2<3) || (3<2)
13.下列各種運(yùn)算符中,_____優(yōu)先級(jí)最高。
A. + B. && C. == D. *=
三、綜合題
1.隨機(jī)生成兩個(gè)小數(shù)給變量x.y,然后顯示這兩個(gè)數(shù)中的最大值。(提示:語(yǔ)句“var x=Math.random();”可為變量生成一個(gè)隨機(jī)小數(shù):另外,使用條件運(yùn)算符‘?:")
2.如果某年的年份值是4的倍數(shù)并且不是100的倍數(shù),或者該年份值是400的倍數(shù),那么這一年就是閏年。請(qǐng)編制一個(gè)頁(yè)面,該頁(yè)面顯示當(dāng)天是否處于閏年。
提示:使用以下語(yǔ)句,可使變量year的值就是當(dāng)天所屬的年份值。
var today = new Date(); //獲取當(dāng)天日期
var year = today.getFullYear(); //獲取當(dāng)天年份
第四章習(xí)題二
一、判斷題
11. if語(yǔ)句可以實(shí)現(xiàn)多路分支。(是。)
12. 一個(gè)用switch語(yǔ)句實(shí)現(xiàn)的多路分支結(jié)構(gòu)的程序段不能使用if語(yǔ)句實(shí)現(xiàn)。(否??捎枚鄠€(gè)if語(yǔ)句,兩者是相通的)
13. 任何循環(huán)語(yǔ)句的循環(huán)體至少要執(zhí)行一次。(否。只有Do…while…語(yǔ)句)
14. 循環(huán)語(yǔ)句是可以嵌套的,不僅相同的循環(huán)語(yǔ)句可以嵌套,不同的循環(huán)語(yǔ)句也可以嵌套。(是。三種循環(huán)語(yǔ)句可以任意相互嵌套,個(gè)數(shù)不限。但是過(guò)多的循環(huán)嵌套會(huì)使得邏輯混亂,容易出錯(cuò),所以使用中嵌套三重循環(huán)及以下的比較常見(jiàn)。)
15. 在JavaScript中,任何一種循環(huán)結(jié)構(gòu)的程序段,都可以用while循環(huán)實(shí)現(xiàn)。(是。For和while是相通的)
16. break語(yǔ)句可以出現(xiàn)在各種不同循環(huán)語(yǔ)句的循環(huán)體中。(是。)
17. continue語(yǔ)句只能出現(xiàn)在循環(huán)體中。(是。)
18. 要排除程序中的鍺誤只能使用專業(yè)化的調(diào)試工具。(否。)
二、單選題
19. 作為if/else語(yǔ)句的第一行,下列選項(xiàng)中哪一個(gè)是有效的?(B)
A. if(x=2) B. if(y<7) C. else D. if (x==2&&)
20. 下列關(guān)于switch語(yǔ)句的描述中,_____是正確的。(A)
A. switch語(yǔ)句中default子句是可以省略的
B. switch語(yǔ)句中case子句的語(yǔ)句序列中必須包含break語(yǔ)句
C. switch語(yǔ)句中case子句后面的表達(dá)式可以是含有變量的整型表達(dá)式
D. switch語(yǔ)句中子句的個(gè)數(shù)不能過(guò)多
21. 在條件和循環(huán)語(yǔ)句中,使用什么來(lái)標(biāo)記語(yǔ)句組?(C)
A.圓括號(hào)() B.方括號(hào)[] C.花括號(hào){} D.大于號(hào)>和小于號(hào)<
22. 下列選項(xiàng)中哪一個(gè)可以作為for循環(huán)的有效的第一行?(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都是死循環(huán)
23. 循環(huán)語(yǔ)句“for(var i=0,j=10; i=j=10; i++, j--);”的循環(huán)次數(shù)是_______。(D)
A. 0 B. 1 C. 10 D. 無(wú)限 i=j=10是賦值語(yǔ)句
24. 以下哪個(gè)while循環(huán)判定式最有可能是因程序員失誤而寫(xiě)出的代碼?(B)
A. while(x<=7) B. while(x=7) 賦值符號(hào) C. while(x<7) D. while(x!=7)
25. 語(yǔ)句“var i; while(i=0) i--;”中while的循環(huán)次數(shù)是______。(A)
A. 0 B. 1 C.5 D. 無(wú)限
26. 下述關(guān)于循環(huán)語(yǔ)句的描述中,_____是錯(cuò)誤的.(B)
A.循環(huán)體內(nèi)可以包含有循環(huán)語(yǔ)句
B.循環(huán)體內(nèi)必須同時(shí)出現(xiàn)break語(yǔ)句和continue語(yǔ)句
C.循環(huán)體內(nèi)可以出現(xiàn)條件語(yǔ)句
D.循環(huán)體可以是空語(yǔ)句,即循環(huán)體中只出現(xiàn)一個(gè)分號(hào); 空語(yǔ)句可用于延時(shí)
27. 下述break語(yǔ)句的描述中,_____是不正確的.(C)
A. break語(yǔ)句用于循環(huán)體內(nèi),它將退出該重循環(huán)
B. break語(yǔ)句用于switch語(yǔ)句,它表示退出該switch語(yǔ)句
C. break語(yǔ)句用于if語(yǔ)句,它表示退出該if語(yǔ)句(break是用于終止循環(huán)的,如for循環(huán)和while循環(huán)。在沒(méi)有循環(huán)的結(jié)構(gòu)內(nèi)加上break當(dāng)然會(huì)報(bào)錯(cuò)了)
D. break語(yǔ)句在一個(gè)循環(huán)體內(nèi)可使用多次
28. 有語(yǔ)句“var x=0; while(_____) x+=2:",要使while循環(huán)體執(zhí)行10次,空白處的循環(huán)判定式應(yīng)寫(xiě)為:(C) 從0開(kāi)始
A.x<10 B. x<=10 C. x<20 D. x<=20
三、操作題
29. 編寫(xiě)程序.通過(guò)用戶輸入的年齡判斷是哪個(gè)年齡段的人(兒童:年齡<14;青少年:14<=年齡<24;青年:24<年齡<40; 中年:40<=年齡<60; 老年:年齡>=60),并在頁(yè)面上輸出判斷結(jié)果。
30. 編寫(xiě)程序,艱據(jù)用戶輸入的一個(gè)數(shù)字(0~6).通過(guò)警示對(duì)話框顯示對(duì)應(yīng)的星期幾(0: 星期日; 1: 星期一;……6: 星期六;)。
31. 編寫(xiě)程序,計(jì)算10!(即 1*2*3*…10)的結(jié)果(10的階乘)。
32. 編寫(xiě)程序,計(jì)算 1!+2!+3!+…..+10!的結(jié)果。
33. 在頁(yè)面上輸出如下數(shù)字圖案。
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
其中,每行的數(shù)字之間有一個(gè)空格間隔。
34. 在頁(yè)面上輸出如下圖案。
其中,每行的星號(hào)"*"之間有一個(gè)空格間隔。
35. 有一個(gè)三位數(shù)x,被4除余2,被7除余3,被9除余5,請(qǐng)求出這個(gè)數(shù)。
36. 求所有滿足條件的四位數(shù)ABCD,它是13的倍數(shù),且第3位數(shù)加上第2位數(shù)等于第4位數(shù)(即:A=B+C)。(提示:對(duì)于四位數(shù)的整數(shù)x,通過(guò)Math.floor(x/1000)可求出第4位的數(shù)字,其他位數(shù)的提取也類似)
第四章習(xí)題三
一、判斷題
37. 在JavaScript中只允許使用預(yù)定義的函數(shù).而不能自定義函數(shù)。(否。)
38. 函數(shù)定義可以沒(méi)有函數(shù)體。(否。函數(shù)里可以沒(méi)用語(yǔ)句(空語(yǔ)句),但是不能沒(méi)有函數(shù)體)
39. 因?yàn)镴avaScript函數(shù)有返回值,所以必須在定義函數(shù)時(shí)指明返回值的類型。(否。)
40. JavaScript的函數(shù)定義允許嵌套.即在函數(shù)中可以定義另一個(gè)函數(shù)。(是。在許多語(yǔ)言里不允許,但JavaScript里可以)
41. 在不同函數(shù)定義中.允許定義同名的變量。(是。)
二、單選題
42. 在JavaScript函數(shù)的定義格式中,下面各組成部分中,_____是可以省略的。(D)
A. 函數(shù)名 B. 指明函效的一對(duì)圓括寫(xiě)()
C. 函數(shù)體 D. 函數(shù)參效
43. 如果有函數(shù)定義function f(x,y){…},那么以下正確的函數(shù)調(diào)用是_______。(C)
A. f 1 ,2 沒(méi)有括號(hào) B. f(1) C. f(1,2) D. f(,2)
44. 在JavaScript中,定義函數(shù)時(shí)可以使用_____個(gè)參數(shù)。(D)
A. 0 B. 1 C. 2 D. 任意
45. 在JavaScript中,要定義一個(gè)全局變量x,可以_______。(D)
A. 使用關(guān)鍵字public在函數(shù)中定義 B. 使用關(guān)鍵字public在任何函數(shù)之外定義
C. 使用關(guān)鏈字var在函教中定義 D. 使用關(guān)鍵宇var在任何函數(shù)之外定義
46. 在JavaScript中,要定義一個(gè)局部變量x,可以______。(C)
A. 使用關(guān)健字private在函數(shù)中定義 B. 使用關(guān)健字private在任何函數(shù)之外定義
C. 使用關(guān)健字var在函數(shù)中定義 D. 使用關(guān)健字var在任何函數(shù)之外定義
三、綜合題
47. 編寫(xiě)一個(gè)函數(shù) f(x) = 4x2+3x+2,使用戶通過(guò)提示對(duì)話框瑜入x的值,能得到相應(yīng)的計(jì)算結(jié)果。
48. 編寫(xiě)一個(gè)函數(shù)Min(x,y)求出x,y這兩個(gè)數(shù)中的最小值,要求x,y的值由用戶通過(guò)提示對(duì)話框輸入。
49. 編寫(xiě)一個(gè)判斷某個(gè)非負(fù)整數(shù)是否能夠同時(shí)被3,5,7整除的函數(shù),然后在頁(yè)面上輸出1~1000之間所有能同時(shí)被3,5,7整除的整數(shù),并要求每行顯示6個(gè)這樣的數(shù)。
50. 在頁(yè)面上編程輸出100~1000之間的所有素?cái)?shù),并要求每行顯示6個(gè)素?cái)?shù)。
51. 編寫(xiě)一個(gè)非遞歸函數(shù)factorial(n),計(jì)算12!-10!的結(jié)果。
52. 編寫(xiě)一個(gè)帶一個(gè)參數(shù)(指定顯示多少層星號(hào)“*”的函數(shù),它在頁(yè)面止輸出的一個(gè)5層星號(hào)“*”圖案類似。
其中,每行的星號(hào)“*”之間有一個(gè)空格間隔。
53. 斐波納契(Fibonacci)數(shù)列的第一項(xiàng)是1,第二項(xiàng)是1,以后各項(xiàng)都是前兩項(xiàng)的和。試用遞歸函數(shù)和非遞歸函數(shù)各編寫(xiě)一個(gè)程序,求斐波納契數(shù)列第N項(xiàng)的值。
54. 編寫(xiě)函數(shù),用下面的公式計(jì)算π的近似值。
在頁(yè)面上輸出當(dāng)n=100,500,1000,10000時(shí)π的近似值。
55. 利用全局變量和函數(shù),設(shè)計(jì)模擬幸運(yùn)數(shù)字機(jī)游戲。設(shè)卒運(yùn)數(shù)字為8,每次由計(jì)算機(jī)隨機(jī)產(chǎn)生3個(gè)1-9之間(包括1和9)的隨機(jī)數(shù),當(dāng)這3個(gè)隨機(jī)數(shù)中有一個(gè)數(shù)字為8時(shí),就算贏了一次,要求利用函數(shù)計(jì)算獲勝率。
第六章習(xí)題
一、判斷題
56. 在JavaScript中,只能使用預(yù)定義對(duì)象,而不能使用自定義對(duì)象。()
57. 在JavaScript中,當(dāng)使用new運(yùn)算符創(chuàng)建一個(gè)對(duì)象變量后,一定要使用delete運(yùn)算符把創(chuàng)建的對(duì)象變量撤銷。()
58. 要使用任何一個(gè)JavaScript對(duì)象的方法和屬性,必須先使用new運(yùn)算符創(chuàng)建它。()
59. 在調(diào)用Date對(duì)象的屬性和方法之前,必須先使用new運(yùn)算符創(chuàng)建一個(gè)Date對(duì)象。()
60. 不能使用普通的for循環(huán)語(yǔ)句遍歷數(shù)組中的所有元素。()
二、單選題
61. 在JavaScript中,通過(guò)下面的_____運(yùn)算符訪問(wèn)對(duì)象的屬性和方法。()
A.加運(yùn)算符(+) B.點(diǎn)運(yùn)算符(.)
C.乘運(yùn)算符(*) D.不能訪問(wèn)
62. 對(duì)代碼 "var x=myhouse.kitchen;”的哪種說(shuō)明正確?()
A.將字符串”myhouse.kitchen.”賦值給變量x。
B.將myhouse和kitchen的值相加之和賦給對(duì)象x。
C.假設(shè)myhouse對(duì)象存在,它將myhouse對(duì)象的kitchen屬性值賦給變量x。
D.假設(shè)myhouse對(duì)象存在,它將kitchen對(duì)象的myhouse屬性值賦給變量x.
63. 下面哪一條語(yǔ)句在頁(yè)面上顯示圓周率π? ()
A. document.write(Math.Pi) B. document.write(Math.pi)
C. document.write(Math.PI) D.document.write(Date.Pi)
64. 以下______表達(dá)式產(chǎn)生一個(gè)0-7之間(含0,7)的隨機(jī)整數(shù)。()
A. Math.floor(Math.random()*6) B. Math.floor(Math.random()*7)
C. Math.floor(Math.random()*8) D. Math.sqrt(Math.random())
65. 以下______語(yǔ)句把日期對(duì)象rightnow的星期號(hào)賦給變量weekday。()
A. var weekday = rightnow.getDate();
B. var weekday = rightnow.getDay();
C. var weekday = rightnow.getWeek();
D. var weekday = rightnow.getWeekday();
66. 創(chuàng)建字符串對(duì)象有哪兩種方法?()
A.使用new運(yùn)算符創(chuàng)建String對(duì)象和直接將字符串賦給變量。
B.使用new運(yùn)算符創(chuàng)建Array對(duì)象和直接將字符串賦給變量。
C.使用new運(yùn)算符創(chuàng)建Number對(duì)象和直接將字符串賦給變量。
D.使用new運(yùn)算符創(chuàng)建Date對(duì)象和直接將字符串賦給變量。
67. 以下String對(duì)象的_____方法得到指定位置處的字符?()
A. indexOf() B. charAt()
C. charIsAt() D. indexOfThePosition()
68. 執(zhí)行語(yǔ)句序列“var s="1234567890; s=s.substr(5,2);”之后,變量s的值是_______。()
A. "52" B. "56" C. "67" D. "78"
69. 以下___語(yǔ)句不能創(chuàng)建數(shù)組. ()
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];
70. 以下______語(yǔ)句將正確訪問(wèn)cool數(shù)組中的第5個(gè)元素。()
A. cool[5] B. cool(5) C. cool[4] D. cool(4)
71. Array對(duì)象的______屬性將返回表示數(shù)組長(zhǎng)度的數(shù)值。()
A. length屬性 B. getLength屬性 C. size屬性 D. getsize屬性
三、綜合題
72. 編寫(xiě)程序,根據(jù)用戶輸入的數(shù)值,計(jì)算其平方、平方根和自然對(duì)數(shù)。
73. 使用Math對(duì)象的random()方法編制一個(gè)產(chǎn)生0~100之間(含0,100)的隨機(jī)整數(shù)的函數(shù)。
74. 設(shè)計(jì)一個(gè)頁(yè)面,在頁(yè)面上顯示信息“現(xiàn)在是XXXX年XX月XX日Xx點(diǎn)XX分XX秒(星期X),歡迎您的到訪!“。
75. 編制一個(gè)從字符串中收集數(shù)字字符("0","1",…"9")的函數(shù)CollectDigits(s),它從字符串s中順序取出數(shù)字,并且合并為一個(gè)獨(dú)立的字符串作為函數(shù)的返回值。例如函數(shù)調(diào)用CollectDigits("1abc23def4")的返回值是字符串"1234"。
76. 編制一個(gè)將兩個(gè)字符串交叉合并的函數(shù)Merge(s1,s2),例如Merge("123","abc")的返回結(jié)果是"1a2b3c",如果兩個(gè)字符串的長(zhǎng)度不同,那么就將多余部分直接合并到結(jié)果字符串的末尾,如Merge("123456",abc)的返回結(jié)果是”1a2b3c456”。
77. 設(shè)計(jì)一個(gè)程序,它(使用一個(gè)數(shù)組)接收用戶輸入的7門(mén)課程的成績(jī),然后在頁(yè)面上顯示其總成績(jī)和平均分,并列出小于60的成績(jī)。
78. 斐波納契(Fibonacci)數(shù)列的第一項(xiàng)是1,第二項(xiàng)是1,以后各項(xiàng)都是前兩項(xiàng)的和。請(qǐng)按逆序在頁(yè)面中顯示斐波納契數(shù)列前40項(xiàng)的值(即,如果計(jì)算出來(lái)的數(shù)列是1,1,2,3,5,8…,那么顯示的順序是…,8,5,3,2,1,1),并要求每行顯示6個(gè)數(shù)。
79. 設(shè)計(jì)一個(gè)函數(shù)DayOfYear(d),它接必一個(gè)日期參數(shù)d,返回一個(gè)該日期是所在年份的第幾天,如DayOfYear(2000,2,8)的返回值是39.
(提示:①定義一個(gè)數(shù)組months=new Array(31,28,31,30,31,30,31,31,30,31,30,31)記錄每個(gè)月少天:②定義一個(gè)輔助函數(shù)IsLeapYear(y)判定某個(gè)年份是否閏年,以確定2月份的天數(shù)是28還是29。)
鏈接地址:http://m.appdesigncorp.com/p-6565353.html