jQuery面試題16道

2021-10-07 02:00:10 字數 3210 閱讀 1150

jquery的核心函式之物件訪問($(this)[0])

jquery.proxy,接受乙個函式,然後返回乙個新函式,並且這個新函式始終保持了特定的上下文(context)語境。

delegate是一種委託事件,但是可以通過選擇器縮小查詢範圍。

1. 基本選擇器:

層級選擇器:這個涉及到jquery的優化問題,我們知道jquery選擇器由右向左尋找的。

以上是先找尋class的標籤,然後在class標籤裡面找尋只有div的標籤,會找兩次,應該是後面的高

$(document)

.ready

(function()

);

相比attr,prop是1.6.1才新出來的,兩者從中文意思理解,都是獲取或設定屬性的方法,(attributes和properties)。只是,window或document中使用的attr.()方法在jquery1.6之前不能正常執行,因為window和document中不能有attributes。prop應運而生了。

**那麼什麼時候使用attr?什麼時候使用prop?**

新增屬性名稱該屬性就會生效應使用prop是有truefalse兩個屬性使用prop其他則使用attr

jquery是方便操作dom的,bootstrap是一套ui庫,bootstrap的一些元件還依賴jquery

簡單來說,jquery用來控制頁面邏輯與頁面操作。而bootstarp用來控制頁面的顯示效果。

jquery的css處理:
($(

"div").

css(

"color"

,"green"

))

jquery的核心函式之物件訪問:
($(

this)[0])

通過id,使用getelementbyid()獲得標籤節點通過標籤的名稱,使用getelementbyid()獲取元素節點或標籤節點注意:以上的查詢方法都會忽略文件的結構通過使用乙個元素節點的parentnodefirstchild以及lastchild屬性

節點名稱nodename

如果節點是標籤,nodename是標籤名稱如果節點是屬性,nodename是屬性名稱如果節點是文字節點,nodename是#text如果節點是文件,nodename是#document
節點值nodevalue節點型別nodetype

基於class的選擇性的效能相對於id選擇器開銷很大,因為需要遍歷所有dom元素

頻繁操作的dom,先快取起來再操作,用jquery的鏈式呼叫更好。比如:

var str = $(

'a')

.attr

('href'

);

for

(var i =size;i

)

for迴圈每一次迴圈都查詢了陣列arrlength屬性,在開始迴圈的時候設定乙個變數來儲存這個數字,可以讓迴圈跑的更快:

for

(var i=size;length=arr.length;i

)

jquery是乙個js庫,主要提供的功能是選擇器,屬性修改和事件繫結等等。

jquery ui則是在jquery的基礎上,利用jquery的擴充套件性,設計的外掛程式。

提供了一些常用的介面元素,諸如對話方塊、拖動行為、改變大小行為等等

15 jquery中如何將陣列轉換為就送字串,然後再轉化

jquery中沒有提供這個功能,所以需要先編寫兩個jquery的擴充套件;

編寫:

$.fn.stringifyarray = function(array)

$.fn.parsearray = function(array)

//然後呼叫:

$(" "

).stringifyarray(array)

;

jquery原始碼封裝在乙個匿名函式的自執行環境中,有助於防止變數的全域性汙染,然後傳入window物件引數,可以使window物件作為全域性變數使用,好處是當jquery中訪問window物件的時候,就不用將作用域鏈退回到頂層作用域了,從而可以更快的訪問window物件。同樣,傳入undefined引數,可以縮短查詢undefined時的作用域鏈
(

function

(window,undefined)

)(window)

;

jquery將一些原型屬性和方法封裝在了jquery.prototype中,為了縮短名稱,又賦值給了jquery.fn,這是很形象的寫法。

有一些陣列或物件的方法經常能使用到,jquery將其儲存為區域性變數義提高訪問速度。

jquery實現的鏈式呼叫可以節約**,所返回的都是同乙個物件,可以提高**效率

16道嵌入式 語言面試題

預處理器 preprocessor 1.用預處理指令 define 宣告乙個常數,用以表明1年中有多少秒 忽略閏年問題 define seconds per year 60 60 24 365 ul 我在這想看到幾件事情 1 define 語法的基本知識 例如 不能以分號結束,括號的使用,等等 2 ...

三道面試題

一 給定乙個n個整數元素的陣列,元素分別為a1,a2,a3.an,每個元素分別對應乙個權重w1 小於1的float w2,w3.wn,其和為1,找出其中乙個元素ak,使所有小於ak的元素的權重之和小於1 2,所有大於ak的元素的權重之和 1 2。思路 首先將該陣列按元素值的大小進行公升序排列,同樣的...

面試題 五道面試題五

判斷出棧順序的正確性 假設每個相同元素只出現一次 include include include include using namespace std class istruesack istruesack if str2 null public bool istrue const char pu...