幾道面試題

一、手機號、郵箱、6到11位英文數字(英文開頭)的正則表達式javascript

/^[0-9a-zA-Z_.-]+[@][0-9a-zA-Z_.-]+([.][a-zA-Z]+){1,2}$|
^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8}$|
^[a-zA-Z][0-9a-zA-Z]{5,10}$/

 

二、Ajax的工做原理和兼容代碼java

經過XmlHttpRequest對象來向服務器發異步請求,從服務器得到數據,而後用javascript來操做DOM而更新頁面。

        var xhr;
        if (window.XMLHttpRequest) {
            xhr = new XMLHTTPRequest();
        } else {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }

        xhr.open('GET', 'ajax.json', false);
        xhr.send();
        xhr.onreadystatechange = function() {
            if (xhr.readyState === 4) {
                if (xhr.status === 200 || xhr.status === 304) {
                    alert(xhr.responseText);
                } else {
                    alert('請求失敗!');
                }
            }
        }    

 

三、地址欄輸入一個url回車,描述這時候開始瀏覽器作了什麼jquery

1.瀏覽器解析出主機名

2.瀏覽器查詢這個主機名的ip地址(dns)

3.瀏覽器獲取端口號

4.瀏覽器向目標ip地址發起一條tcp鏈接

    爲了傳輸的可靠性,tcp協議要有三次握手過程:

    (1)首先瀏覽器會向服務器發起一個鏈接請求

    (2)服務器會對鏈接請求作出響應,表示贊成創建鏈接

    (3)瀏覽器收到響應後,再告知對方,它知道服務器贊成它創建鏈接了。

5.數據包在ip層傳輸

6.數據鏈路層處理網絡鏈接的硬件部分

7.瀏覽器向服務器發送一條http報文

8.服務器接受客戶端請求,進行一些處理,返回響應報文

  web服務器接收到請求以後,實際上會作些什麼呢?

  (1)創建鏈接,若是接受一個客戶端鏈接,就創建鏈接,若是不一樣意,就將其關閉。

  (2)接收請求,讀取http請求報文

  (3)訪問資源,訪問報文中指定的資源

  (4)構建響應,建立帶有首部的http響應報文

  (5)發送響應,將響應回送給客戶端

9.瀏覽器讀取http響應報文

10.瀏覽器關閉鏈接


原文:https://zhuanlan.zhihu.com/p/3510998

 

四、JS中判斷數據類型的方法有幾種?web

最多見的判斷方法:typeof

判斷已知對象類型的方法: instanceof

根據對象的constructor判斷: constructor

無敵萬能的方法:jquery.type()

 

五、ajax

        for (var i = 0; i < 10; i++) {
            setTimeout(function(){
                console.log(i);
            },1000)
        }    


    這段代碼輸出結果是什麼?

  10個10正則表達式

相關文章
相關標籤/搜索