1. 程式人生 > >JavaScript試題練習題

JavaScript試題練習題

1. 我們可以在下列哪個HTML元素中放置javascript程式碼?

A.< script >

 B.<javascript >

 C.< js >

 D.<scripting >   

★標準答案:A 

2. 預測以下程式碼片段的輸出結果:

var str 

alert(typeof str);  

A.. string 

 B..undefined;

 C..object 

 D..String;   

★標準答案:B

3. 下列哪個不是Javascript中註釋的正確寫法:( )   A.< !-- …… -- >

 B.//……

 C./*……*/

 D.  /*  ……  */   

★標準答案:A 

4. 以下哪項不屬於Javascript的特徵?   A.Javascript是一種指令碼語言  B.Javascript是事件驅動的   C.Javascript程式碼需要編譯以後才能執行 

D.Javascript是獨立於平臺的   

★標準答案:C

5. 關於以下兩個陳述的描述中,正確的是:( ) 陳述1:Javascript是弱型別語言  陳述2:Javascript的常用型別包括:int、string、boolean   A.陳述1正確,陳述2錯誤  B.陳述1錯誤,陳述2正確

 C.兩個陳述都正確

 D.兩個陳述都錯誤 

★標準答案:A

6. 閱讀下面的JavaScript程式碼:

 <HTML >  < BODY >

 <SCRIPT LANGUAGE="JavaScript" >

function f(y) {

 varx=y*y;

return x;

 } 

for(x=0;x< 5;x++) {

y=f(x);

document.writeln(y);

< /SCRIPT > < /BODY > </HTML > 

輸出結果是()。 

 A.01 2 3 4 

B.0 1 4 9 16 

C.0 1 4 9 16 25 

D.以上答案都不對   

★標準答案:B 

7. 在Javascript中,需要宣告一個整數型別的變數num,以下哪個語句能實現上述要求?   A.int num; 

B.number num;

 C.var num; D.Integer num;   

★標準答案:C

8. 關於Javascript中陣列的說法中,不正確的是:()  

A.陣列的長度必須在建立時給定,之後便不能改變 

B.由於陣列是物件,因此建立陣列需要使用new運算子

C.陣列內元素的型別可以不同

D.陣列可以在宣告的同時進行初始化   

★標準答案:A

9. 除了一些常規的運算子之外,Javascript還提供了一些特殊的運算子。下面不屬於Javascript特殊運算子的是:()  A.delete

 B.size

 C.new

 D.typeof   ★標準答案:B

10. 以下關於Javascript中事件的描述中,不正確的是:() 

A.click——滑鼠單擊事件

 B.focus——獲取焦點事件  

C.mouseOver——滑鼠指標移動到事件源物件上時觸發的事件  D.change——選擇欄位時觸發的事件   

★標準答案:D 

11. 考察以下程式片段: var n = newNumber(3456); alert(n.toFixed(2));  以下選項正確的是:(       )

A.輸出34  B.輸出 56  C.輸出 3456.00  D.輸出 345600    ★標準答案:C

12.

考察以下程式碼片段:

 function Student(name)  {    

this.name = name;   

this.move = function() {     

alert(this.name+”準備移動了”);    }  }

Student.prototype.move = function() {  

 alert(this.name+”開始移動了!”);  }

  varst = new Student(“李四); 

st.study();

下列說法正確的是? 

  A.輸出 ”李四準備移動了”  B.輸出 ”李四開始移動了”   C.輸出 ”李四準備移動了 李四開始移動了””  D.程式出錯,沒有任何輸出。    ★標準答案:A 

13. 預測以下程式碼片段的輸出結果:function add(i) { var k = i+10; alert(k); } function add(i) { var k = i+20; alert(k); }  add(10);   A.40  B.20  C.30 D.程式出錯 

 ★標準答案:C

14. 預測以下程式碼片段的輸出結果

: var student = new Object();  student.study = function() {window.alert(“開始學習了”); }study();    A.輸出“開始學習了”  

B.程式出錯。不能在例項化物件之後,再新增方法

  C.程式出錯。study()方法不能直接呼叫。應該用student來呼叫

 D.程式出錯。給student.study賦值時,右邊的函式必須有名字    ★標準答案:C

 15. 考察以下程式片段: varstr = “32px”; var str1 = str.slice(-2); alert(str); alert(str1);  以下選項正確的是?   

A.依次輸出”px” “px”

 B.依次輸出”32” “32”

 C.依次輸出”32px” “px”

 D.依次輸出”32px” “32px”    ★標準答案:C

16. 考察以下程式片段: var str = “12px”; var s =str.indexof(“2”); alert(s);

以下選項正確的是?  

 A.輸出 1  B.輸出 2  C.輸出 p  D.輸出 12    ★標準答案:A

17. 考察以下程式片段:

function Person() {

Person.prototype.move = function() {

alert(this.name+“移動”);}

function Student(name) {   

this.name = name; } 

Student.prototype.study = function() {

alert(this.name+”學習”); }

Student.prototype = new Person(); var st =new Student(“張三丰”);

st.study();

st.move();

以下選項正確的是? 

  A.依次輸出”張三丰學習” “百曉生移動”

B.依次輸出”張三丰學習” “移動”

 C.輸出”張三丰學習” ,之後程式出錯

 D.程式出錯,什麼都不能輸出

    ★標準答案:D

18. 以下不屬於Javascript原始型別的是:() 

 A.string  B.number

 C.function D.boolean    ★標準答案:C 

19. 以下哪段程式碼不能正確建立函式show()?  

A.function show(text){ alert(text); }  

B.var showFun = function show(text){alert(text); } 

C.var showFun = function(text){alert(text); } 

D.var showFun =newfunction("text" , "alert(text)"};    ★標準答案:D 

20. Javascript是如何實現繼承的?   

A.建立父類物件作為子類的原型(prototype) 

B.使用extends關鍵子繼承父類  

C.建立子類物件作為父類的原型(prototype) 

D.使用class關鍵子繼承父類

   ★標準答案:A

21. 在JavaScript中,下列哪段程式碼能夠在1秒之後執行表示式expression?    A.window.setTimeout(1000,expression); 

B.window.setTimeout(expression,1);

C.window.setTimeout(1,expression);

D.window.setTimeout(expression,1000);

 ★標準答案:D 

22. < body onLoad="f1()"onError="f2()' >     < inputonFocus="g1()" onBlur()="g2()" >  < /body >   下列方法一定會被呼叫的是:(       ) 

 A.f1()

 B.f2()

 C.g1()

 D.g2()   ★標準答案:A 

23. 以下哪個選項中的方法全部屬於window物件:(       ) 

 A.alert,clear,close B.clear,close,open C.alert,close,confirm D.alert,setTimeout,write    ★標準答案:C 

24. 與image物件不相關的事件處理是下列哪項:(       )   

A.onError 

B.onMouseOut

C.onLoad D.onOpen    ★標準答案:D

25. 在JavaScript中,如果不指明物件直接呼叫某個方法,則該方法預設屬於哪個物件:()   A.document  B.window

 C.form

 D.location   

★標準答案:B

26. 開啟名為“window2”的新視窗的JavaScript語法是:(       )   A.window.new("http://www.w3schools.com","window2")

 B.window.open("http://www.w3schools.com","window2","")

 C.new("http://www.w3schools.com","window2")

 D.new.window("http://www.w3schools.com","window2")    ★標準答案:B

27. 如何在瀏覽器的狀態列放入一條訊息:(       )   

A.statusbar = "put your messagehere" 

B.window.status = "put your messagehere"

C.window.status("put your messagehere") 

D.status("put your messagehere")    ★標準答案:B 

28. 與window物件無關的屬性是下列哪項:(       )   

A.top B.self 

C.left  D.frames   ★標準答案:C

29. history從屬於window,下列能訪問前一頁面方法是:(       )   

A.back(-1) B.back(1)  C.forward(1)  D.go(-1)   ★標準答案:D

30. 關於以下兩個陳述的描述中,正確的是:()

 陳述1:window物件的confirm方法用於顯示一個包括相關資訊以及Yes和No這兩個按鈕的對話方塊。陳述2:window物件的alert方法用於彈出一個提示視窗,顯示提示資訊。() 

  A.陳述1正確,陳述

2錯誤

B.陳述1錯誤,陳述2正確

 C.陳述1和陳述2均正確

 D.陳述1和陳述2均錯誤    ★標準答案:B

31. 下列不是document物件的屬性的是:(       )   

A.anchors B.forms  C.location  D.image   ★標準答案:D

 32. 下列說法有誤的是()   

A.event是window物件的一個屬性,所以可以直接引用event物件 

B.不同的瀏覽器事件處理的方式可能不同 

C.對於同一事件,子物件的事件處理函式會覆蓋父物件的事件處理函式  D.事件可以增強使用者與頁面的互動    ★標準答案:C

33. 考察以下程式碼片段,預測在

IE中開啟該頁面,點選按鈕時的輸出結果為:( ) 

<body>     

<form name=”form1”>        

<INPUT type="button" name="button1" value="測試按鈕" />    

</form> 

</body> 

<script>     

document.form1.button1.attachEvent(“onclick”,"alert('被點選了!')");     document.form1.button1.attachEvent(“onclick”,"alert('被點選了……..')"); 

</script>(10分) 

A.輸出 “被點選了!”

 B.輸出 “被點選了……..’”

  C.依次輸出“被點選了……..” “被點選了!”

 D.依次輸出“

被點選了!”“被點選了……..”    ★標準答案:C

34. 考察以下程式碼片段,預測輸出結果( ) 

<script>     

function handleEvent()    

{ alert("我被點選了!");}    

 document.form1.button1.onclick =handleEvent; 

</script> 

<body>     

<form name=”form1”>        

<INPUT type="button" name="button1" value="測試按鈕" />    

</form> 

</body>   

A.輸出 “我被點選了”  

B.沒有錯誤,但也沒有任何輸出。 

C.出現錯誤,沒有任何輸出。 

D.出現錯誤,但輸出 “我被點選了”    ★標準答案:C

35. 考察以下程式碼片段:

  <scripttype="text/JavaScript">   

function handleEvent()     {        

var oTextbox =document.getElementById("txt1");       

 oTextbox.value += " " + event.type;//event是所觸發的事件物件  

 }

</script>  請在文字框中操作鍵盤: 

<input type="text" id="txt"size="5"     

onkeydown="handleEvent()"     

onkeyup="handleEvent()"     

onkeypress="handleEvent()"/>     

<textarea id="txt1" rows="6" cols="30"></textarea>-----------------------------------------------------------------  如果游標定位文字框中,敲擊鍵盤的shift鍵,文字域中的輸出結果為:(     

A.keydown keyup keypress 

B.keydown keyup

 C.keydown D.keyup   

★標準答案:B

36. 分析下面的程式碼:

 < HTML >    

< BODY >         

< SELECT type="select" name=s1onChange=alert("你選擇了"+s1.value) >       

 <OPTION selected value=select1 >北京< /OPTION>          

< OPTION value=select2 >上海</OPTION >          

< OPTION value=select3 >廣州</OPTION >       

< /SELECT >    

< /BODY >

 </HTML >  

下面對結果的描述正確的是:(   )。   

A.當選中“上海”時,彈出“你選擇了select2”資訊框 

B.當選中“廣州”時,彈出“你選擇了廣州”資訊框 

C.任何時候選中“北京”時,不彈出資訊框 

 D.程式碼有錯誤,應該將“onChange”修改為“onClick” 

 ★標準答案:A

37.下列哪個不是js的事件型別() 

A.動作事件

B.滑鼠事件

 C.鍵盤事件

 D.HTML頁面事件    ★標準答案:A

38. 下列關於滑鼠事件描述有誤的是() 

A.click表示滑鼠單擊 

B.dblclick表示滑鼠右擊  

C.mousedown表示滑鼠的按鈕被按下 

 D.mousemove表示滑鼠進入某個物件範圍,並且移動    ★標準答案:B

39. 考察以下程式碼片段:

  <formaction="#" name="form1">    

<input type="button" name="button1" value="按鈕1"/>   

<input type="button" name="button2" value="按鈕2"/>

</form> 

<script type="text/javascript">   

function handleEvent1(){       

document.form1.button2.click();    }    

function handleEvent2() {        

alert(event.srcElement.name+"的"+event.type+"事件被觸發!");    }    document.form1.button1.onclick = handleEvent1;   

document.form1.button2.onclick =handleEvent2;

</script>

 如果使用者點選了按鈕1,此時輸出結果為:  

A.輸出 “button2的click事件被觸發!” 

B.輸出 “button1的click事件被觸發!” 

C.程式出錯,沒有輸出 

D.依次輸出“button1的click事件被觸發!” “button2的click事件被觸發!”   

★標準答案:A

40.

下列陳述有誤的是() 

陳述一:一個button的click事件只能新增一個事件處理函式

陳述二:js事件一旦新增就無法銷燬   

A.陳述1正確,陳述2錯誤

 B.陳述1錯誤,陳述2正確

 C.兩種陳述都正確

 D.兩種陳述都錯誤    ★標準答案:D 

41. 事件是按照DOM層次結構的由高到低順序依次觸發,則該事件流屬於( ) 

A.冒泡型 

B.捕獲型

 C.DOM型

 D.BOM型

★標準答案:B 

42 預測以下程式碼片段執行結果:

 var reg = /^\w+,Java\w*$/ 

var str = “Hello,JavaScript!”;

var b = str.match(reg);

document.write(b);

  A.輸出Hello,JavaScript!  B.輸出Java  C.輸出 null  D.輸出false    ★標準答案:C 

43. 下列正則表示式量詞符號與含義不匹配的是() 

A.{n,}:至少出現n次 

B.{n,m}:出現m-n次 

C.?:出現0-1次

 D.*:出現任意次    ★標準答案:B

44. 下列正則表示式中描述有誤的是()

 A.[] :匹配範圍內的任意一個字元

 B.{n:匹配n次

 C.\w:匹配任意字母、數字、下劃線、符號

 D.\d:匹配0-9之間的任意數字    ★標準答案:C

45. 一年有12個月。現要求月份的正確格式為: 1,2,….9,10,11,12。以下哪個正則表示式可以符合要求?  

A./^[1-12]$/ 

B./^[1-9]\d?$/

 C./^([1-9]︱1[0-2])$/

 D./^\d︱11︱12︱10$/ 

★標準答案:C 

46. 下列與表示式/^[0-9]+$/相符的是() 

 A.123 

B.a123

 C.123a

 D.a   

★標準答案:A

47. 下面那個方法能判斷字串中是否存在和指定正則表示式匹配的字串;是則返回true,否則返回false:()  

A.RegExp物件的test()方法 

B.RegExp物件的exec()方法 

C.String物件的search()方法 

D.String物件的match()方法    ★標準答案:A

48. 關於以下兩種陳述,說法正確的是? 

陳述1:RegExp的search(str)方法返回字串中與正則表示式相匹配的字串的位置

陳述2:String的test(str) 方法用於測試字串是否與正則表示式相匹配。

A.陳述1正確,陳述2錯誤

 B.陳述1錯誤,陳述2正確

 C.兩種陳述都正確

 D.兩種陳述都錯誤    ★標準答案:D 

49. 下列對應關係有誤的是()

 A.\n 對應換行符

 B.\t對應 製表符

 C.\r對應 回車符 

D.\f 對應空格符    ★標準答案:D

50. 下列與表示式/^\d{3,5$/相符的是() 

A.3 B.4  C.5  D.345   ★標準答案:D 

51. 下列關於正則表示式的標誌與它的含義表達有誤的是()  

A.i--忽略大小寫  B.g--匹配全部 

C.m--匹配多行D.*--匹配任意   

★標準答案:D