php面試題之二——Javascript(基礎部分)


二、JavaScript部分

1. JS 表單彈出對話框函數是?獲得輸入焦點函數是?

彈出對話框函數:alert(), prompt(), confirm()
獲得輸入焦點函數:focus()

2. JS 的轉向函數是?怎么引入一個外部 JS 文件?

轉向使用 window.location.href = ""
引入外部 js 使用 <script src=""></script>

3. 解釋下面語句的意思:document.form["formName"].submit。(百度)

獲取 name 為 formName 的表單並將該表單數據提交到服務器。但這行代碼是不能運行的,有兩處錯誤,一是通過表單名稱來獲取表單得到時候,應該寫成document.forms[‘formName’],提交表單事件使用submit 方法,需要加上括號,下面給出簡單的示例代碼:

<form action="a.php" meathod="post" name="login" id="f1">
    用戶名:<input type="text" name="username"/>
    <input type="button" id="btn" value="提交"/>
</form>
<script type="text/javascript">
    document.getElementById("btn").onclick=function () {
        if (document.forms['login'].username.value != '') {
            document.forms['login'].submit();
        }
    }
</script>
4. 有下面語句:<input id="txt" type="text" value="baidu" /> 編寫代碼,當鼠標划過文本框,自動選中文本框中的內容。(百度)
<input id="txt" type="text" value="baidu"/>
<script type="text/javascript">
    var textBox = document.getElementById('txt');
    textBox.onmouseover = function(){
        this.select();
    }
</script>
5. 設計一個網頁,使得打開它時彈出一個全屏的窗口,該窗口中有一個文本框和一個按鈕。用戶在文本框中輸入信息后點擊按鈕就可以把窗口關閉,而輸入的信息卻在主網頁中顯示。(新浪)

主窗口:

<a href="" id="a1" target="new">新窗口</a>
<div id="msg"></div>
<script type="text/javascript">
	var a1 = document.getElementById('a1');
	a1.onclick = function () {
		window.open('new.html','new','location=no,toolbar=no');
		return false;
	}
</script>

彈出窗口:

<input type="text" name="message" id="m1"/><br />
<input type="button"value="關閉" id="btn"/><br />
<script type="text/javascript">
    var btn = document.getElementById('btn');
    var message = document.getElementById('m1');

    btn.onclick = function(){
        var div = window.opener.document.getElementById('msg');
        div.innerHTML = message.value;
        window.close();
    }
</script>
6. 可以使用哪些方法使用 JavaScript 向服務器發出請求且不離開當前頁面,簡單對比各自的特點(如果存在)(酷訊)

使用 XMLHttpRequest 對象異步請求

7. 判斷以下代碼是否正確,如果有錯,請指出錯誤,如果正確,請指出運行結果 (酷訊)
var arr = new Array(
    new Array(1,2,3,4),
    new Array("abc", "def", "xyz"),
);
for(i = 0; i < arr.length; i++) {
	document.write(arr[0]);
}

懷疑這個代碼寫錯了,第二個 new array 后面的逗號是多余的,如果此處沒問題,則代碼是正確的,輸出的結果是 1,2,3,4 1,2,3,4
:arr 是一個二維數組,該數組有兩個元素,第一個元素是數組[1,2,3,4],第二個元素也是一個數組為["abc", "def", "xyz"],for 循環語句執行了兩次,但都是輸出第一個元素,即數組[1,2,3,4]。

[E]8. 用 JavaScript 寫一個函數,其功能是可以刪除數組中重復的元素。
<script type="text/javascript">
function array_unique(arr){
	var result = arr;
	for (var i = 0; i < arr.length; i++) {
		for (var j = 0; i < arr.length; j++) {
				temp = arr[i];
				// 如果當前元素與后面某一個元素相等,則移除頂元素
				if ((i+j+1) < arr.length && temp === arr[i+j+1]) {
					result.splice(i+j+1,1);
				}
		}
	}
	return result;
}

var a = [4,7,8,5,8,6,43,7,0,false,'',{}];
var b = array_unique(a);

alert(b);//4,5,8,5,6,43,0,false,[object Object]
</script>
9. 以下哪條 JavaScript 語句會產生運行錯誤:( )

A. var obj = ( );
B. var obj = [ ];
C. var obj = { };
D. var obj = //;
答案:A

10. 請選擇結果為真的表達式:( )

A. null instanceof Object
B. null === undefined
C. null == undefined
D. NaN == NaN
答案:C

11. foo 對象有 att 屬性,那么獲取 att 屬性的值,以下哪些做法是可以的:( )

A. foo.att
B. foo("att")
C. foo["att"]
D. foo{"att"}
E. foo["a"+"t"+"t"]
答案:ACE

12. 如何添加 html 元素的事件,有幾種方法,舉例

(1).直接作為元素的屬性,如<img onclick="alert( 'hello' );" src="hello.jpg">
(2).使用 DOM 0 級事件,簡單,兼容性好,如 img.onclick = function(){}
(3).使用 DOM 2 級事件,功能更強大,在非 IE 等標准瀏覽其中,使用 addEventListener,在IE 瀏覽器中則使用 attachEvent 來實現。

13. JavaScript 能否定義二維數組,如果不能你如何解決?

JavaScript 不支持二維數組定義,可以用 arr[0] = new array()來解決。

14. 假設 a.html 和 b.html 在同一個文件夾下面,用 JavaScript 實現當打開 a.html 五秒鍾后,自動跳轉到 b.html。
<script type="text/javascript">
	function go2b() {
		window.location.href = "b.html";
		window.close();
	}

	setTimeout("go2b()",5000);//5秒后自動執行go2b方法
</script>
15. 請使用 JavaScript 寫出三種產生一個 image 標簽的方法(提示:從方法、對象、HTML角度考慮)

(1). var img = new Image();
(2). var img = document.createElement("image")
(3). img.innerHTML = "<img src='xxx.jpg' />"

16. js 中網頁前進和后退的代碼

前進: history.forward();或者 history.go(1);
后退: history.back (); 或者 history.go(-1);

17. 請寫出一條至少 3 個節點的 DOM 樹 (YG)
<script type="text/javascript">
	var div = document.createElement("div");

    var a = document.createElement("a");
	a.href = "http://www.baidu.com";

	var span = document.createElement("span");
	span.innerHTML = "百度";

	a.appendChild(span);
	div.appendChild(a);
	document.body.appendChild(div);
</script>

結果 HTML:
<div><a href="http://www.baidu.com"><span>百度</span></a></div>

18. 實現點擊按鈕彈出窗口的代碼 (YG)
document.getElementById( 'button' ).onclick = function(){
window.open ('page.html');
}

其中,button 是按鈕的 id,page.html 是要彈出的窗口頁面。

19. JavaScript 包括那些基本數據類型?(小米)

JavaScript 中包括 5 種基本數據類型,分別是 Number,String,Boolean,Null 和 Undefined。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM