
- jQuery 教程
- jQuery 首頁
- jQuery 路線圖
- jQuery 概述
- jQuery 基礎
- jQuery 語法
- jQuery 選擇器
- jQuery 事件
- jQuery 屬性
- jQuery AJAX
- jQuery DOM 操作
- jQuery DOM
- jQuery 新增元素
- jQuery 刪除元素
- jQuery 替換元素
- jQuery CSS 操作
- jQuery CSS 類
- jQuery 尺寸
- jQuery CSS 屬性
- jQuery 效果
- jQuery 特效
- jQuery 動畫
- jQuery 鏈式操作
- jQuery 回撥函式
- jQuery 遍歷
- jQuery 遍歷
- jQuery 遍歷祖先節點
- jQuery 遍歷子孫節點
- jQuery UI
- jQuery 互動
- jQuery 小部件
- jQuery 主題
- jQuery 外掛
- jQuery 外掛
- jQuery - PagePiling.js
- jQuery - Flickerplate.js
- jQuery - Multiscroll.js
- jQuery - Slidebar.js
- jQuery - Rowgrid.js
- jQuery - Alertify.js
- jQuery - Progressbar.js
- jQuery - Slideshow.js
- jQuery - Drawsvg.js
- jQuery - Tagsort.js
- jQuery - LogosDistort.js
- jQuery - Filer.js
- jQuery - Whatsnearby.js
- jQuery - Checkout.js
- jQuery - Blockrain.js
- jQuery - Producttour.js
- jQuery - Megadropdown.js
- jQuery - Weather.js
- jQuery 有用資源
- jQuery 問答
- jQuery 快速指南
- jQuery 有用資源
- jQuery 討論
jQuery 面試題
親愛的讀者們,這些jQuery 面試題專為幫助您熟悉面試中可能遇到的jQuery相關問題而設計。根據我的經驗,優秀的面試官很少會預先設定具體的題目,通常會從一些基本概念開始,然後根據您的回答和進一步的討論展開。
jQuery 是一個快速、簡潔的 JavaScript 庫,由 John Resig 於 2006 年建立,其口號是 - 少寫程式碼,多做事情。jQuery 簡化了 HTML 文件遍歷、事件處理、動畫和 Ajax 互動,從而加快了 Web 開發速度。jQuery 是一個旨在透過編寫更少程式碼來簡化各種任務的 JavaScript 工具包。
以下是 jQuery 支援的重要核心功能列表:
DOM 操作 - jQuery 使選擇 DOM 元素、遍歷它們以及使用名為 Sizzle 的跨瀏覽器開源選擇器引擎修改其內容變得容易。
事件處理 - jQuery 提供了一種優雅的方式來捕獲各種事件,例如使用者點選連結,而無需在 HTML 程式碼本身中新增事件處理程式。
AJAX 支援 - jQuery 可以幫助您使用 AJAX 技術開發響應迅速且功能豐富的網站。
動畫 - jQuery 附帶大量內建動畫效果,您可以在網站中使用。
輕量級 - jQuery 是一個非常輕量級的庫 - 大約 19KB(壓縮和 gzip 壓縮)。
跨瀏覽器支援 - jQuery 具有跨瀏覽器支援,可在 IE 6.0+、FF 2.0+、Safari 3.0+、Chrome 和 Opera 9.0+ 中良好執行。
最新技術 - jQuery 支援 CSS3 選擇器和基本的 XPath 語法。
使用 $(document).ready() 函式。其中的所有內容將在 DOM 載入完畢且頁面內容載入之前載入。
JavaScript 很好地支援物件的概念。您可以使用物件字面量建立物件,如下所示:
var emp = { name: "Zara", age: 10 };
您可以使用點表示法編寫和讀取物件的屬性,如下所示:
// Getting object properties emp.name // ==> Zara emp.age // ==> 10 // Setting object properties emp.name = "Daisy" // <== Daisy emp.age = 20 // <== 20
您可以使用陣列字面量定義陣列,如下所示:
var x = []; var y = [1, 2, 3, 4, 5];
陣列具有一個 length 屬性,可用於迭代。我們可以按如下方式讀取陣列的元素:
var x = [1, 2, 3, 4, 5]; for (var i = 0; i < x.length; i++) { // Do something with x[i] }
命名函式在定義時具有名稱。可以使用 function 關鍵字定義命名函式,如下所示:
function named(){ // do some stuff here }
JavaScript 中的函式可以是命名函式或匿名函式。
匿名函式的定義方式與普通函式類似,但它沒有名稱。
可以!匿名函式可以賦值給變數。
可以!匿名函式可以作為引數傳遞給另一個函式。
JavaScript 變數 arguments 表示傳遞給函式的引數。
使用 typeof 運算子,我們可以獲取傳遞給函式的引數型別。例如:
function func(x){ console.log(typeof x, arguments.length); } func(); //==> "undefined", 0 func(1); //==> "number", 1 func("1", "2", "3"); //==> "string", 3
使用 arguments.length 屬性,我們可以獲取傳遞給函式的引數總數。例如:
function func(x){ console.log(typeof x, arguments.length); } func(); //==> "undefined", 0 func(1); //==> "number", 1 func("1", "2", "3"); //==> "string", 3
arguments 物件具有一個 callee 屬性,它引用您所在的函式。例如:
function func() { return arguments.callee; } func(); // ==> func
JavaScript 中著名的關鍵字 this 始終指向當前上下文。
變數的作用域是程式中定義它的區域。JavaScript 變數只有兩種作用域。
全域性變數 - 全域性變數具有全域性作用域,這意味著它在 JavaScript 程式碼的任何地方都是可見的。
區域性變數 - 區域性變數僅在其定義的函式內可見。函式引數始終是該函式的區域性變數。
區域性變數優先於同名全域性變數。
回撥函式是一個普通的 JavaScript 函式,作為引數或選項傳遞給某些方法。一些回撥函式只是事件,呼叫它們是為了給使用者一個機會在觸發特定狀態時做出反應。
每當從某個內部作用域訪問在當前作用域之外定義的變數時,就會建立閉包。
以下示例顯示了變數 counter 如何在 create、increment 和 print 函式內可見,但在它們外部不可見:
function create() { var counter = 0; return { increment: function() { counter++; }, print: function() { console.log(counter); } } } var c = create(); c.increment(); c.print(); // ==> 1
charAt() 方法返回指定索引處的字元。
concat() 方法返回指定索引處的字元。
forEach() 方法為陣列中的每個元素呼叫一個函式。
indexOf() 方法返回在呼叫 String 物件中指定值的第一次出現的索引,如果未找到則返回 -1。
length() 方法返回字串的長度。
pop() 方法從陣列中刪除最後一個元素並返回該元素。
push() 方法將一個或多個元素新增到陣列的末尾並返回陣列的新長度。
reverse() 方法反轉陣列元素的順序 - 第一個元素變成最後一個,最後一個元素變成第一個。
sort() 方法對陣列的元素進行排序。
substr() 方法返回從指定位置開始,透過指定字元數的字串中的字元。
toLowerCase() 方法返回轉換為小寫的呼叫字串值。
toUpperCase() 方法返回轉換為大寫的呼叫字串值。
toString() 方法返回數字值的字串表示形式。
jQuery 選擇器是一個函式,它使用表示式根據給定的條件從基於 DOM 的元素中查詢匹配的元素。簡單來說,選擇器用於使用 jQuery 選擇一個或多個 HTML 元素。選擇元素後,我們就可以對所選元素執行各種操作。jQuery 選擇器以美元符號和括號開頭 - $()。
工廠函式 $() 是 jQuery() 函式的同義詞。因此,如果您正在使用任何其他 JavaScript 庫,其中 $ 符號與其他內容衝突,則可以將 $ 符號替換為 jQuery 名稱,並且可以使用函式 jQuery() 代替 $()。
$('tag-name') 選擇文件中所有型別為 tag-name 的元素。例如,$('p') 選擇文件中的所有段落 <p>。
$('#some-id') 選擇文件中 ID 為 some-id 的單個元素。
$('.some-class') 選擇文件中所有類為 some-class 的元素。
$('*')
選擇 DOM 中所有可用的元素。
$('E, F, G')
選擇指定選擇器 E、F 或 G 的所有組合結果,其中選擇器可以是任何有效的 jQuery 選擇器。
attr()
方法可以用於從匹配集合中的第一個元素獲取屬性的值。
attr(name, value)
方法可以用於使用傳遞的值將命名屬性設定到包裝集中的所有元素上。
addClass( classes )
方法可以用於將定義的樣式表應用於所有匹配的元素。可以使用空格分隔多個類。
removeAttr( name )
方法可以用於從每個匹配的元素中刪除屬性。
hasClass( class )
方法如果指定的類至少存在於匹配元素集中,則返回 true
。
removeClass(class)
方法刪除匹配元素集中所有或指定的類。
toggleClass(class)
方法在類不存在時新增它,存在時刪除它。
html()
方法獲取第一個匹配元素的 HTML 內容 (innerHTML)。
html( val )
方法設定每個匹配元素的 HTML 內容。
text( )
方法獲取所有匹配元素的組合文字內容。
text( val )
設定所有匹配元素的文字內容。
val( )
方法獲取第一個匹配元素的輸入值。
val(val)
方法如果在 `` 元素上呼叫,則設定每個匹配元素的 value 屬性;如果在 `
filter( selector )
方法可以用於過濾掉與指定選擇器不匹配的所有元素。選擇器可以使用任何選擇器語法編寫。
eq( index )
方法將匹配元素集縮減為單個元素。
is( selector )
方法將當前選擇與表示式進行比較,如果選擇的至少一個元素符合給定的選擇器,則返回 true
。
not(selector)
方法從匹配元素集中刪除與指定選擇器匹配的元素。
slice(selector)
方法選擇匹配元素的子集。
add( selector )
方法將更多由給定選擇器匹配的元素新增到匹配元素集中。
andSelf( )
方法將之前的選擇新增到當前選擇中。
children( [selector])
方法獲取一個包含每個匹配元素集的唯一直接子元素的元素集。
closest( selector )
方法獲取包含與指定選擇器匹配的最近父元素(包括起始元素)的元素集。
contents( )
方法查詢匹配元素(包括文字節點)內的所有子節點,或者如果元素是 iframe,則查詢內容文件。
end( )
方法撤消最近的“破壞性”操作,將匹配元素集更改為其先前狀態。
find( selector )
方法搜尋與指定選擇器匹配的子元素。
next( [selector] )
獲取一個包含給定元素集的唯一下一個兄弟元素的元素集。
nextAll( [selector] )
查詢當前元素之後的所有兄弟元素。
offsetParent( )
方法返回包含第一個匹配元素的定位父元素的 jQuery 集合。
parent( [selector] )
方法獲取元素的直接父元素。如果在一個元素集上呼叫,則 `parent` 返回其唯一直接父元素的集合。
parents( [selector] )
方法獲取包含匹配元素集的唯一祖先(根元素除外)的元素集。
prev( [selector] )
方法獲取包含每個匹配元素集的唯一前一個兄弟元素的元素集。
prevAll( [selector] )
方法查詢當前元素之前的兄弟元素。
siblings( [selector] )
方法獲取一個包含每個匹配元素集的唯一兄弟元素的元素集。
css( name )
方法返回第一個匹配元素的樣式屬性。
css( name, value )
方法將單個樣式屬性設定為所有匹配元素的值。
height( val )
方法設定每個匹配元素的 CSS 高度。
height( )
方法獲取第一個匹配元素的當前計算畫素高度。
innerHeight( )
方法獲取第一個匹配元素的內部高度(不包括邊框,包括填充)。
innerWidth( )
方法獲取第一個匹配元素的內部寬度(不包括邊框,包括填充)。
offset( )
方法獲取第一個匹配元素相對於文件的當前偏移量(以畫素為單位)。
offsetParent( )
方法返回包含第一個匹配元素的定位父元素的 jQuery 集合。
outerHeight( [margin] )
方法獲取第一個匹配元素的外部高度(預設情況下包括邊框和填充)。
outerWidth( [margin] )
方法獲取第一個匹配元素的外部寬度(預設情況下包括邊框和填充)。
position( )
方法獲取元素相對於其偏移父元素的頂部和左側位置。
width( val )
方法設定每個匹配元素的 CSS 寬度。
width( )
方法獲取第一個匹配元素的當前計算畫素寬度。
empty( )
方法從匹配元素集中刪除所有子節點。
remove( expr )
方法從 DOM 中刪除所有匹配的元素。
事件物件的 preventDefault()
方法阻止瀏覽器執行預設操作。
事件物件的 isDefaultPrevented()
方法返回是否曾經在這個事件物件上呼叫過 event.preventDefault()
。
事件物件的 stopPropagation()
方法停止事件冒泡到父元素,阻止任何父級處理程式收到事件通知。
事件物件的 isPropagationStopped()
方法返回是否曾經在這個事件物件上呼叫過 event.stopPropagation()
。
事件物件的 stopImmediatePropagation()
方法停止執行其餘的處理程式。
事件物件的 isImmediatePropagationStopped()
方法返回是否曾經在這個事件物件上呼叫過 event.stopImmediatePropagation()
。
bind( type, [data], fn )
函式將處理程式繫結到每個匹配元素的一個或多個事件(如 click)。也可以繫結自定義事件。
ready(fn)
函式繫結一個函式,以便在 DOM 準備好被遍歷和操作時執行。
load( url, [data], [callback] ) 方法可以從遠端檔案載入HTML並將其注入DOM。
ajaxComplete( callback ) 方法可以用來註冊一個回撥函式,該函式在每次AJAX請求完成後執行。
下一步是什麼?
接下來,你可以回顧一下你以前在這個科目上完成的任務,確保你能自信地談論它們。如果你剛畢業,面試官並不期望你會回答非常複雜的問題,而是你的基礎概念要非常紮實。
其次,如果你無法回答一些問題,其實並不太重要,重要的是,你回答的任何問題,都必須充滿自信。所以在面試時要自信。Tutorialspoint祝你面試順利,並祝你未來的事業一切順利!乾杯 :-)