web前端面試題及答案
web前端面試題及答案
引導語:瞭解一些面試題及答案,可以幫助自己順利透過面試哦。以下是小編為大家整理的web前端面試題及答案,供各位參考。
1、怎樣新增、移除、移動、複製、建立和查詢節點?
建立新節點:
creatDocumentFragment(),建立一個DOM片段。
creatElement(),建立一個具體的元素。
creatTextNode(),建立一個文字節點。
新增、移除、替換、插入:
appendChild(),新增。
removeChild(),移除。
replaceChild(),替換。
Before(),插入。
查詢:
getElementsByTagName(),透過標籤名稱。
getElementsByName(),透過元素的Name屬性的值。
getElementById(),透過元素id,唯一性。
2、JS中什麼是偽陣列?如何將偽陣列轉化為標準陣列?
偽陣列(類陣列):無法直接呼叫陣列方法或期望length屬性有什麼特殊的行為。但仍可以對真正陣列遍歷方法來遍歷它們。典型的是函式的arguement引數,還有像呼叫getElementsByTagName()、document.childNodes()之類的',它們都返回NodeList物件,都屬於偽陣列。可以用Array.prototype.slice.call(fakeArray)將陣列轉化為真正的Array物件。
3、JS中callee和caller的作用。
caller是返回一個對函式的引用,該函式呼叫了當前函式;
callee是返回正在被執行的函式,也就是所指定的function物件的正文。
4、請說出三種減低頁面載入時間的方法。
1.壓縮CSS、JS檔案。
2.合併JS、CSS檔案,減少HTTP請求。
3.外部JS、CSS檔案放最底下。
4.減少DOM的操作,儘可能用變數替代不必要的DOM操作。
5、為什麼用多個域名來儲存網路資源會更有效?
確保使用者在不同地區用最快的速度開啟網站,其中某個域名崩潰,使用者也能透過其他域名訪問網站。
6、如何消除一個數組裡面重復的元素?
indexOf():返回某個指定的字串值在字串中首次出現的位置,對大小寫敏感,若沒有,則返回-1。
7、寫一個function,清除字串前後的空格(相容所有的瀏覽器)。
8、統計字串中字母個數或統計最多字母數。
str.charAt(i):返回指定位置的字元,i在0~str.length之間,如果i不在0~str.length之間,該方法返回一個空字串。
9、擷取字串"abcdefg"中的"egf"。
10、實現一個函式clone,可以對JS中的5種主要的資料型別(包括Number、String、Object、Array、Boolean)進行值複製。
11、JS中如何檢測一個變數是string型別?
typeof(obj)=="string";
obj.constructor==string;
12、寫出三個使用this的典型應用。
事件:onclick this,發生事件的物件;
建構函式:this,new出來的object;
call/apply:改變this;
13、網頁中實現一個計算當年還剩多少時間的倒計時程式,要求網頁上實時動態顯示“xx年還剩xx天xx時xx分xx秒”。