20道jQuery 常見的面試問題和答案

2021-02-20 藍橋雲課精選

毫無疑問,jQuery給了JavaScript急需的提振,這是一門如此有用,但同時總是常常被低估的語言。在 jQuery 粉墨登場之前,我們曾經會寫出冗長的JavaScript代碼,不僅僅為更大型的應用程式,有時即使是更小的應用程式也要如此。那種代碼常常是既難以閱讀又難以維護的。

在使用這個優秀的庫之前寫過原生的JavaScript,僅僅在用過它的一個月之後,我就能意識到jQuery的真正力量. 鑑於它的巨大人氣,有關jQuery的面試問題,以及有關HTML和JavaScript的數量在任何web開發者面試中有所增加。 因為 jQuery 相對較新,大多數面試所涉及的問題都是圍繞核心的 jQuery 庫的,包括選擇器, DOM 操作 以及 jQuery 基礎。

在本篇文章中,我要向 HTML 和 JavaScript 開發人員分享 20 個在不同面試遇到的 jQuery 問題。這裡面的一些問題也許同樣會在那些要求同時進行服務端(Spring,Servlet 和 JSP)和客戶端(HTML,CSS,JavaScript 和 jQuery)的開發 Java Web 開發面試中涉及。

如果你正要去面試一個職位,它需要你擁有多項技能,比如:Java、jQuery,它並不是希望你明白jQuery每一個細微的細節,或對其有全面的了解,但是如果你是要面試一個真正的客戶端開發職位,你就需要積累更多高級的有技巧性的jQuery問題,而不限於本文列舉的這些問題。不過,你可以通過本文來快速的溫習那些jQuery面試中經常被提到的問題,而且它們大多也適用於有2到5年經驗的web開發人員,特別是Java領域。

jQuery 面試問題和答案JavaScript 是客戶端腳本的標準語言,而 jQuery 使得編寫 JavaScript 更加簡單。你可以只用寫幾行的jQuery 代碼就能實現更多的東西. 它是最常被用到的 JavaScript 庫之一,並且現在已經很少有不用jQuery 而使用原生 JavaScript 的新項目了。這對於作為一個 Java web 開發者的你而言意味著你會在一場Java web開發面試中發現許多jQuery的面試問題.

早些時候,絕大部分都是 HTTP, HTML, CSS 以及 JavaScript,但最近開始,除了 JavaScript 基礎之外,人們也希望知道你是否熟悉 jQuery。這16個jQuery的問題是為web開發者準備的,且也能夠非常方便你在參加一次電話或者視頻一輪的面試之前糾正一些關鍵的概念。如果你是  jQuery 新手,那麼它也能夠幫助你更加好的理解基礎知識,並激勵你去發現更多東西。

1. jQuery 庫中的 $() 是什麼?(答案如下)

$() 函數是 jQuery() 函數的別稱,乍一看這很怪異,還使 jQuery 代碼晦澀難懂。一旦你適應了,你會愛上它的簡潔。$() 函數用於將任何對象包裹成 jQuery 對象,接著你就被允許調用定義在 jQuery 對象上的多個不同方法。你甚至可以將一個選擇器字符串傳入 $() 函數,它會返回一個包含所有匹配的 DOM 元素數組的 jQuery 對象。這個問題我已經見過好幾次被提及,儘管它非常基礎,它經常被用來區分一個開發人員是否了解 jQuery。

2. 網頁上有 5 個 <div> 元素,如何使用 jQuery來選擇它們?(答案

另一個重要的 jQuery 問題是基於選擇器的。jQuery 支持不同類型的選擇器,例如 ID 選擇器、class 選擇器、標籤選擇器。鑑於這個問題沒提到 ID 和 class,你可以用標籤選擇器來選擇所有的 div 元素。jQuery 代碼:$("div"),這樣會返回一個包含所有 5 個 div 標籤的 jQuery 對象。更詳細的解答參見上面連結的文章。

3. jQuery 裡的 ID 選擇器和 class 選擇器有何不同?(答案

如果你用過 CSS,你也許就知道 ID 選擇器和 class 選擇器之間的差異,jQuery 也同樣如此。ID 選擇器使用 ID 來選擇元素,比如 #element1,而 class 選擇器使用 CSS class 來選擇元素。當你只需要選擇一個元素時,使用 ID 選擇器,而如果你想要選擇一組具有相同 CSS class 的元素,就要用 class 選擇器。在面試過程中,你有很大機率會被要求使用 ID 選擇器和 class 選擇器來寫代碼。下面的 jQuery 代碼使用了 ID 選擇器和 class 選擇器:

$('#LoginTextBox')  // Returns element wrapped as jQuery object with id='LoginTextBox'

$('.active') // Returns all elements with CSS class active.

正如你所見,從語法角度來說,ID 選擇器和 class 選擇器的另一個不同之處是,前者用字符」#」而後者用字符」.」。更詳細的分析和討論參見上面的答案連結。

4. 如何在點擊一個按鈕時使用 jQuery 隱藏一個圖片?

這是一個事件處理問題。jQuery為按鈕點擊之類的事件提供了很好的支持。你可以通過以下代碼去隱藏一個通過ID或class定位到的圖片。你需要知道如何為按鈕設置事件並執行hide() 方法,代碼如下所示:

$('#ButtonToClick').click(function(){

    $('#ImageToHide').hide();

});

我喜歡這個問題,因為很貼近實際使用,代碼也不複雜。

5.  $(document).ready() 是個什麼函數?為什麼要用它?(answer)

這個問題很重要,並且常常被問到。 ready() 函數用於在文檔進入ready狀態時執行代碼。當DOM 完全加載(例如HTML被完全解析DOM樹構建完成時),jQuery允許你執行代碼。使用$(document).ready()的最大好處在於它適用於所有瀏覽器,jQuery幫你解決了跨瀏覽器的難題。需要進一步了解的用戶可以點擊 answer連結查看詳細討論。

6. 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 事件要更好些。

7. 如何找到所有 HTML select 標籤的選中項?(答案如下)

這是面試裡比較棘手的 jQuery 問題之一。這是個基礎的問題,但是別期望每個 jQuery 初學者都知道它。你能用下面的 jQuery 選擇器獲取所有具備 multiple=true 的 <select > 標籤的選中項:

$('[name=NameOfSelectedTag] :selected')

這段代碼結合使用了屬性選擇器和 :selected 選擇器,結果只返回被選中的選項。你可按需修改它,比如用 id 屬性而不是 name 屬性來獲取 <select> 標籤。

8. jQuery 裡的 each() 是什麼函數?你是如何使用它的?(答案如下)

each() 函數就像是 Java 裡的一個 Iterator,它允許你遍歷一個元素集合。你可以傳一個函數給 each() 方法,被調用的 jQuery 對象會在其每個元素上執行傳入的函數。有時這個問題會緊接著上面一個問題,舉個例子,如何在 alert 框裡顯示所有選中項。我們可以用上面的選擇器代碼找出所有選中項,然後我們在 alert 框中用 each() 方法來一個個列印它們,代碼如下:

$('[name=NameOfSelectedTag] :selected').each(function(selected) {

    alert($(selected).text());

});

其中 text() 方法返回選項的文本。

9. 你是如何將一個 HTML 元素添加到 DOM 樹中的?(答案如下)

你可以用 jQuery 方法 appendTo() 將一個 HTML 元素添加到 DOM 樹中。這是 jQuery 提供的眾多操控 DOM 的方法中的一個。你可以通過 appendTo() 方法在指定的 DOM 元素末尾添加一個現存的元素或者一個新的 HTML 元素。

10. 你能用 jQuery 代碼選擇所有在段落內部的超連結嗎?(答案略)

這是另一個關於選擇器的 jQuery 面試題。就像其他問題那樣,只需一行 jQuery 代碼就能搞定。你可以使用下面這個 jQuery 代碼片段來選擇所有嵌套在段落(<p>標籤)內部的超連結(<a>標籤)……

11. $(this) 和 this 關鍵字在 jQuery 中有何不同?(答案如下)

這對於很多 jQuery 初學者來說是一個棘手的問題,其實是個簡單的問題。$(this) 返回一個 jQuery 對象,你可以對它調用多個 jQuery 方法,比如用 text() 獲取文本,用val() 獲取值等等。而 this 代表當前元素,它是 JavaScript 關鍵詞中的一個,表示上下文中的當前 DOM 元素。你不能對它調用 jQuery 方法,直到它被 $() 函數包裹,例如 $(this)。

12. 你如何使用jQuery來提取一個HTML 標記的屬性 例如. 連結的href? (答案)

attr() 方法被用來提取任意一個HTML元素的一個屬性的值. 你首先需要利用jQuery選擇及選取到所有的連結或者一個特定的連結,然後你可以應用attr()方法來獲得他們的href屬性的值。下面的代碼會找到頁面中所有的連結並返回href值:

$('a').each(function(){

   alert($(this).attr('href'));

});

13. 你如何使用jQuery設置一個屬性值? (答案)

前面這個問題之後額外的一個後續問題是,attr()方法和jQuery中的其它方法一樣,能力不止一樣. 如果你在調用attr()的同時帶上一個值 例如. attr(name, value), 這裡name是屬性的名稱,value是屬性的新值。

14. jQuery中 detach() 和 remove() 方法的區別是什麼? (答案)

儘管 detach() 和 remove() 方法都被用來移除一個DOM元素, 兩者之間的主要不同在於 detach() 會保持對過去被解除元素的跟蹤, 因此它可以被取消解除, 而 remove() 方法則會保持過去被移除對象的引用. 你也還可以看看 用來向DOM中添加元素的 appendTo() 方法.

15. 你如何利用jQuery來向一個元素中添加和移除CSS類? (答案)

通過利用 addClass() 和 removeClass() 這兩個 jQuery 方法。動態的改變元素的class屬性可以很簡單例如. 使用類「.active"來標記它們的未激活和激活狀態,等等.

16. 使用 CDN 加載 jQuery 庫的主要優勢是什麼 ? (答案)

這是一個稍微高級點兒的jQuery問題。好吧,除了報錯節省伺服器帶寬以及更快的下載速度這許多的好處之外, 最重要的是,如果瀏覽器已經從同一個CDN下載類相同的 jQuery 版本, 那麼它就不會再去下載它一次. 因此今時今日,許多公共的網站都將jQuery用於用戶交互和動畫, 如果瀏覽器已經有了下載好的jQuery庫,網站就能有非常好的展示機會。

17.  jQuery.get() 和 jQuery.ajax() 方法之間的區別是什麼?

ajax() 方法更強大,更具可配置性, 讓你可以指定等待多久,以及如何處理錯誤。get() 方法是一個只獲取一些數據的專門化方法。

18. jQuery 中的方法鏈是什麼?使用方法鏈有什麼好處?

方法鏈是對一個方法返回的結果調用另一個方法,這使得代碼簡潔明了,同時由於只對 DOM 進行了一輪查找,性能方面更加出色。

19. 你要是在一個 jQuery 事件處理程序裡返回了 false 會怎樣?

這通常用於阻止事件向上冒泡。

20. 哪種方式更高效:document.getElementbyId("myId") 還是 $("#myId")?

第一種,因為它直接調用了 JavaScript 引擎。

作者:Javin Paul(著)leoxu, 霍嘯林, Realfighter, AlexQ(譯)
連結:http://www.oschina.net/translate/jquery-interview-questions-answers-programmers#
來源:開源中國

來呀,學習呀,點擊菜單【技術教程】,走到哪兒看到哪兒,就這麼愛學習~

相關焦點

  • 最常見的 20 個 jQuery 面試問題及答案
    鑑於它的巨大人氣,有關jQuery的面試問題,以及有關HTML和JavaScript的數量在任何web開發者面試中有所增加. 因為 jQuery 相對較新,大多數面試所涉及的問題都是圍繞核心的 jQuery 庫的,包括選擇器, DOM 操作 以及 jQuery 基礎.在本篇文章中,我要向 HTML 和 JavaScript 開發人員分享 20 個在不同面試遇到的 jQuery 問題。
  • jQuery經典面試題及答案精選
    本文整理了一些關於jQuery的經典面試題及答案,分享給正要面試Web開發崗位的同學。問題:jQuery的美元符號$有什麼作用?問題:body中的onload()函數和jQuery中的document.ready()有什麼區別?回答:onload()和document.ready()的區別有以下兩點:1、我們可以在頁面中使用多個document.ready(),但只能使用一次onload()。
  • 基於 RequireJS 和 jQuery 的模塊化編程——常見問題解析
    畢竟官方文檔比較專業嘛…不過即便是有完整的官方文檔,仍然遇到不少的問題,比如jquery-ui的使用。下面就循序漸進的講解一下我遇到的問題,以及解決的辦法。關於AMD和CMD的理解AMD(異步模塊定義)的典型就是requirejs,而CMD(通用模塊定義)的典型是淘寶的seajs。
  • 請收藏:H5前端開發工程師常見面試問題總匯
    雲和數據的就業指導老師根據學生的反饋,總結出以下H5前端開發工程師的常見面技術面試題,如有需要請收藏!15、兩次異步請求怎麼保證第一次請求完成後再進行第二次請求使其可以使用第一次請求的結果16、怎麼保證一個方法只調用一次,在vue中和在js/jquery中17、js模塊化你了解多少,你是怎樣理解的18、跨域問題有哪些解決方法
  • 常見必問面試問題-面試自我介紹3分鐘、離職原因、期望薪資……(含面試技巧和答案)
    愛好是指你自己花了很多時間練習,強於一般人的這種可以叫特長的愛好,而並非是常見的「看電影、刷抖音」等興趣愛好(除非你面試的是遊戲公司或抖音運營崗)一般回答1個即可,讓面試官覺得你很專注,重點是強調突出你興趣愛好的成果每個面試問題的參考答案,都是可以直接拿來即用,直接套用模板即可。詳見【完整版高清面試回答】
  • 常見必問面試問題一_面試自我介紹3分鐘、離職原因、期望薪資…(含面試技巧和答案)
    ↑↑↑我會一直給你分享各種面試問題和面試答案,請點擊上方關注【運營面試官Aaron】
  • 超全匯總:MBA提前面試的常見問題和評分標準
    【MBA中國網訊】MBA的提前面試不僅考察同學們的專業知識,也包括綜合素養和心理素質等各個方面,更需要了解和練習。因此,小編為大家總結了一些關於MBA提前面試常見問題、答題思路和面試評分標準。
  • 新媒體運營崗位常見面試試題及參考答案
    之前有過不少小夥伴問靜靜,如果我要去應聘新媒體運營這個崗位,一般會問到哪些問題?我要怎麼回答,今天,靜靜就給大家分享一些常見面試問題及參考答案,希望對剛入行的同學能夠有所幫助。這個問題主要考察的是你是否真的理解什麼是新媒體,我相信想要做新媒體運營的同學們這道題都應該會回答,如果連新媒體的概念都無法準確表達出,那結果可想而知。新媒體運營崗位常見面試問題2:你為什麼想做新媒體運營?
  • jquery 三級聯動插件專題及常見問題 - CSDN
    下面我來介紹下開發的過程:1、 首先,我們需要構思好自己需要的什麼樣子的東西,然後根據圖紙,先定好樣式和基本模型。我自己設計的頁面如下:好了,下面我就來設計這樣的jquery插件吧。2、引入jquery,創建方法我在頁面中使用的是外部連結,https://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js 然後我們來創建一個js文件,命名為 select.js,並引入到頁面中。
  • 15 個常見的 Node.js 面試問題及答案
    對於成功的編程面試來說,準備和知識面一樣重要。準備使你有信心參加面試,而不用擔心莫名的緊張情緒。如果第一次參加編程面試,這一點尤其重要。為幫助 Node.js 開發人員更好的面試,我列出了 15 個常見的 Node.js 和網絡開發相關的面試問題。在本文中,我們將重點討論 Node.js 相關問題。
  • 英語電話面試中常見問題
    新東方網>英語>英語學習>職場英語>面試英語>正文英語電話面試中常見問題 2013-01-14 14:54 來源:應屆畢業生求職網 作者:
  • 教師資格面試常見的面試官提問問題(60道)
    教師資格面試常見的面試官提問問題(60道) http://www.hteacher.net 2015-11-18 17:12 中國教師資格網 [您的教師考試網]
  • 會計面試常見問題及回答技巧大全
    會計面試常見問題有很多。(一般為製造企業)   其實,在各種會計面試場合,有一些會計面試常見問題,比如會計招聘考官往往會問及工作經驗方面的問題。如果你的工作經驗非常豐富自然不成問題,而對於缺乏經驗者(尤其是會計專業大學生)往往成為硬傷。   設計生活問題的會計面試常見問題大全:   11、請你談談畢業之後的工作經歷。   12、你現在或最近所做的工作,其職責是什麼?
  • jquery 社交分享插件專題及常見問題 - CSDN
    iShare 是一款令人驚詫的 jquery  分享和書籤插件。它有許多功能,比如說支持分享到社交網站,支持 shortcode,可選擇激活分享到哪些社交網站,另外還有其他許多可自定義的功能。Social cards 是一個 jquery 插件,它配備了四個分享卡片,包括:Facebook, Twitter, Google Plus, Pinterest, LinkedIn 和入職到粘貼板部件。
  • 面試問題及答案:自主招生常見面試問題大全
    一般來說,面試題不再集中於對考生基礎知識儲備的考察,而在於通過面對面交談的形式,考查學生的知識面、性格特色等。  下面整理了一些常見的面試問題:  一、個人基本情況的考察  這是一項在面試環節中必不可少的一道考察題,主考官一般是根據考生在申報表或個人介紹中呈現的個人信息(如家庭、興趣、特長、潛力、獲獎情況、社會實踐等)來出題。
  • 複試集錦|面試十大常見問題
    宅在家裡,偶爾會覺得些許煩悶,但是盡力準備複試是我們現在的最優解考研複試中,除了那些專業性問題之外,還會有一些常見問題。這些常見問題可能是英文面試當中的,也可能是穿插在專業性問題裡的。未雨綢繆,我們提前思考一下也是值得的。
  • jquery實現響應式布局專題及常見問題 - CSDN
    使用媒體類型的一種常見方式是為桌面計算機屏幕和 Web 頁面的列印版本分別定義單獨的樣式表。CSS3 通過引進媒體查詢,將設備相關的編碼措施這個概念再推進了一步。媒體查詢可以用於確定與 Web 頁面交互的設備類型,並使開發人員能夠確定正在查看 Web 頁面的設備的物理屬性。
  • 美國大學面試常見問題解析
    對於選擇了某個major的學生,這道題目也是面試當中一定會問到的題目。回答可以參考第二題,為自己專業的選擇做出合理和有說服力的解釋。他們為什麼要問這個問題?這道題目的目的是想要知道你為什麼對某個專業感興趣,也想要通過這道題目判斷申請者是否真的在該專業領域上有足夠的認知和準備。
  • 【產品面試】常見5個面試問題(十六
    參考解析: 這個網上有大把文章,去搜就行了,其實交互的知識有很多,比如怎麼判斷頁面原生和 h5 和混血,怎麼取捨;包括哪些數據時需要下發哪些數據可以寫死;頁面信息是怎麼通過接口和資料庫交互之類的,都是互動設計師的基礎需要了解的常識。
  • 外企面試最常見的英文問題及答案-教育背景
    外企面試最常見的英文問題及答案-教育背景 問題分析: 外國面試官更喜歡提「為什麼」的問題, 他希望申請人是一個有主見的人。 回答示範1: I was quite good at mathematics and physics back in high school so I chose a related major, Telecommunications.