好程式設計師Web前端培訓分享jQuery面試題梳理,目前jQuery在企業中的應用還是很普遍的,企業HR在招聘時也會考察求職者對jQuery的掌握。接下來的好程式設計師web前端培訓班就給大家簡單匯總了一些jQuery經典面試題及答案,希望能給大家帶來幫助。
1、jQuery庫中的$()是什麼?
答:$() 函數是 jQuery() 函數的別稱,乍一看這很怪異,還使jQuery代碼晦澀難懂。一旦你適應了,你會愛上它的簡潔。$() 函數用於將任何對象包裹成jQuery對象,接著你就被允許調用定義在jQuery對象上的多個不同方法。你甚至可以將一個選擇器字符串傳入 $() 函數,它會返回一個包含所有匹配的DOM元素數組的jQuery對象。這個問題我已經見過好幾次被提及,儘管它非常基礎,但它經常被用來區分一個開發人員是否了解jQuery。
2、網頁上有5個元素,如何使用jQuery來選擇它們?
答:jQuery支持不同類型的選擇器,例如ID選擇器、class選擇器、標籤選擇器。鑑於這個問題沒提到ID和class,你可以用標籤選擇器來選擇所有的div元素。jQuery代碼:$("div"),這樣會返回一個包含所有5個div標籤的jQuery對象。
3、$(document).ready()是個什麼函數?為什麼要用它?
答:ready()函數用於在文檔進入ready狀態時執行代碼。當DOM完全加載(例如HTML被完全解析DOM樹構建完成時),jQuery允許你執行代碼。使用$(document).ready()的最大好處在於它適用於所有瀏覽器,jQuery幫你解決了跨瀏覽器的難題。
4、JavaScript window.onload事件和jQuery ready函數有何不同?
答:JavaScript window.onload事件和jQuery ready函數之間的主要區別是,前者除了要等待DOM被創建還要等到包括大型圖片、音頻、視頻在內的所有外部資源都完全加載。如果加載圖片和媒體內容花費了大量時間,用戶就會感受到定義在window.onload事件上的代碼在執行時有明顯的延遲。
另一方面,jQuery ready()函數只需對DOM樹的等待,而無需對圖像或外部資源加載的等待,從而執行起來更快。使用jQuery $(document).ready()的另一個優勢是你可以在網頁裡多次使用它,瀏覽器會按它們在HTML頁面裡出現的順序執行它們,相反對於onload技術而言,只能在單一函數裡使用。鑑於這個好處,用jQuery ready()函數比用JavaScript window.onload 事件要更好些。
5、jQuery裡的each()是什麼函數?你是如何使用它的?
答:each()函數就像是Java裡的一個Iterator,它允許你遍歷一個元素集合。你可以傳一個函數給 each()方法,被調用的jQuery對象會在其每個元素上執行傳入的函數。
6、$(this)和this關鍵字在jQuery中有何不同?
$(this)返回一個jQuery對象,你可以對它調用多個jQuery方法,比如用text()獲取文本,用val()獲取值等等。而this代表當前元素,它是JavaScript關鍵詞中的一個,表示上下文中的當前DOM元素。你不能對它調用jQuery方法,直到它被$()函數包裹,例如$(this)。
除了以上內容,關於jQuery的面試題還有很多,在此就不多做贅述。jQuery是一個快速、簡潔的JavaScript框架,是繼Prototype之後又一個優秀的JavaScript代碼庫(或JavaScript框架)。如果你想成為一個高薪Web前端工程師,一定要學好jQuery。