考試時間90分鐘
一、不定項選擇題 (每題3分,共30分)
1. 聲明一個對象,給它加上name屬性和show方法顯示其name值,以下代碼中正確的是( D )
A. var obj = [name:"zhangsan",show:function(){alert(name);}];
B. var obj = {name:"zhangsan",show:”alert(this.name)”};
C. var obj = {name:"zhangsan",show:function(){alert(name);}};
D. var obj = {name:"zhangsan",show:function(){alert(this.name);}};
2. 以下關於Array數組對象的說法不正確的是( CD )
A. 對數組裡資料的排序可以用sort函數,如果排序效果非預期,可以給sort函數加一個排序函數的參數
B. reverse用於對數組資料的倒序排列
C. 向數組的最後位置加一個新元素,可以用pop方法
D. unshift方法用於向數組刪除第一個元素
3. 要將頁面的狀態列中顯示“已經選中該文字框”,下列JavaScript語句正確的是( A )
A. window.status="已經選中該文字框"
B. document.status="已經選中該文字框"
C. window.screen="已經選中該文字框"
D. document.screen="已經選中該文字框"
4. 點擊頁面的按鈕,使之開啟一個新視窗,載入一個網頁,以下JavaScript代碼中可行的是( AD )
A. <input type="button" value="new"
onclick="open('new.html', '_blank') "/>
B. <input type="button" value="new"
onclick="window.location='new.html';"/>
C. <input type="button" value="new"
onclick=" location.assign('new.html');"/>
D. <form target="_blank" action="new.html">
<input type="submit" value="new"/>
</form>
5. 使用JavaScript向網頁中輸出<h1>hello</h1>,以下代碼中可行的是( BD )
A. <script type="text/javascript">
document.write(<h1>hello</h1>);
</script>
B. <script type="text/javascript">
document.write("<h1>hello</h1>");
</script>
C. <script type="text/javascript">
<h1>hello</h1>
</script>
D. <h1>
<script type="text/javascript">
document.write("hello");
</script>
</h1>
6. 分析下面的代碼:
<html>
<head>
<script type="text/javascript">
function writeIt (value) { document.myfm.first_text.value=value;}
</script>
</head>
<body bgcolor="#ffffff">
<form name="myfm">
<input type="text" name="first_text">
<input type="text" name="second_text" onchange="writeIt(value)">
</form>
</body>
</html> 以下說法中正確的是( CD )
A. 在頁面的第二個文字框中輸入內容後,當滑鼠離開第二個文字框時,第一個文字框的內容不變
B. 在頁面的第一個文字框中輸入內容後,當滑鼠離開第一個文字框時,將在第二個文字框中複製第一個文字框的內容
C. 在頁面的第二個文字框中輸入內容後,當滑鼠離開第二個文字框時,將在第一個文字框中複製第二個文字框的內容
D. 在頁面的第一個文字框中輸入內容後,當滑鼠離開第一個文字框時,第二個文字框的內容不變
7. 下面的JavaScript語句中,( D )實現檢索當前頁面中的表單元素中的所有文字框,並將它們全部清空
A. for(var i=0;i< form1.elements.length;i++) {
if(form1.elements[i].type=="text")
form1.elements[i].value="";}
B. for(var i=0;i<document.forms.length;i++) {
if(forms[0].elements[i].type=="text")
forms[0].elements[i].value="";
}
C. if(document.form.elements.type=="text")
form.elements[i].value="";
D. for(var i=0;i<document.forms.length; i++){
for(var j=0;j<document.forms[i].elements.length; j++){
if(document.forms[i].elements[j].type=="text")
document.forms[i].elements[j].value="";
}
}
8. 在表單(form1)中有一個文字框元素(fname),用於輸入電話號碼,格式如:010-82668155,要求前3位是010,緊接一個“-”,後面是8位元字。要求在提交表單時,根據上述條件驗證該文字框中輸入內容的有效性,下列語句中,( A )能正確實現以上功能
A. var str= form1.fname.value;
if(str.substr(0,4)!="010-" || str.substr(4).length!=8 ||
isNaN(parseFloat(str.substr(4))))
alert("無效的電話號碼!");
B. var str= form1.fname.value;
if(str.substr(0,4)!="010-" && str.substr(4).length!=8 &&
isNaN(parseFloat(str.substr(4))))
alert("無效的電話號碼!");
C. var str= form1.fname.value;
if(str.substr(0,3)!="010-" || str.substr(3).length!=8 ||
isNaN(parseFloat(str.substr(3))))
alert("無效的電話號碼!");
D. var str= form1.fname.value;
if(str.substr(0,4)!="010-" && str.substr(4).length!=8 &&
!isNaN(parseFloat(str.substr(4))))
alert("無效的電話號碼!");
9. 關於Regex聲明6位元字的郵編,以下代碼正確的是( C )
A. var reg = /\d6/;
B. var reg = \d{6}\;
C. var reg = /\d{6}/;
D. var reg = new RegExp("\d{6}");
10. 關於JavaScript裡的xml處理,以下說明正確的是( BCD )
A. Xml是種可延伸標記語言 (XML),格式更規範,是作為未來html的替代
B. Xml一般用於傳輸和儲存資料,是對html的補充,兩者的目的不同
C. 在JavaScript裡解析和處理xml資料時,因為瀏覽器的不同,其做法也不同
D. 在IE瀏覽器裡處理xml,首先需要建立ActiveXObject對象
二、問答題
1. 列舉瀏覽器物件模型BOM裡常用的至少4個對象,並列舉window對象的常用方法至少5個 (10分)
對象:Window document location screen history navigator
方法:Alert() confirm() prompt() open() close()
2. 簡述列舉文件物件模型DOM裡document的常用的尋找訪問節點的方法並做簡單說明 (10分)
Document.getElementById 根據元素id尋找元素
Document.getElementByName 根據元素name尋找元素
Document.getElementTagName 根據指定的元素名尋找元素
三、程式題
1、補充按鈕事件的函數,確認使用者是否退出當前頁面,確認之後關閉視窗; (10分)
<html>
<head>
<script type="text/javascript" >
function closeWin(){
//在此處添加代碼
if(confirm("確定要退出嗎?")){
window.close();
}
}
</script>
</head>
<body>
<input type="button" value="關閉視窗" onclick="closeWin()"/>
</body>
</html>
2、寫出簡單描述html標籤(不帶屬性的開始標籤和結束標籤)的Regex,並將以下字串中的html標籤去除掉(15分)
var str = "<div>這裡是div<p>裡面的段落</p></div>";
//
<script type="text/javascript">
var reg = /<\/?\w+\/?>/gi;
var str = "<div>這裡是div<p>裡面的段落</p></div>";
alert(str.replace(reg,""));
</script>
3、完成foo()函數的內容,要求能夠彈出對話方塊提示當前選中的是第幾個單選框。(10分)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<script type="text/javascript" >
function foo() {
//在此處添加代碼
var rdo = document.form1.radioGroup;
for(var i =0 ;i<rdo.length;i++){
if(rdo[i].checked){
alert("您選擇的是第"+(i+1)+"個單選框");
}
}
}
</script>
<body>
<form name="form1" onsubmit="return foo();">
<input type="radio" name="radioGroup"/>
<input type="radio" name="radioGroup"/>
<input type="radio" name="radioGroup"/>
<input type="radio" name="radioGroup"/>
<input type="submit"/>
</form>
</body>
</html>
4、完成函數showImg(),要求能夠動態根據下拉式清單的選項變化,更新圖片的顯示 (15分)
<body>
<script type="text/javascript" >
function showImg (oSel) {
//在此處添加代碼
var str = oSel.value;
document.getElementById("pic").src = str+".jpg";
}
</script>
<img id="pic" src="img1.jpg" width="200" height="200" />
<br />
<select id="sel" onchange="showImg(this)">
<option value="img1">城市生活</option>
<option value="img2">都市早報</option>
<option value="img3">青山綠水</option>
</select></body>