函式識別符號解決jQuery與其他庫衝突的方法

2021-09-06 09:35:33 字數 1498 閱讀 8505

時間緊張,先記一筆,後續優化與完善。

平日,當在同乙個頁面上應用jquery和其他庫時,全域性名稱$的定義是大最的爭辯和衝突的點焦。盡人皆知,jquery應用$作為jquery名稱的別名,並將其用於jquery開公的個一每功能,但是其他庫,最著名的就是prototype,也應用$名稱。

1. jquery供給了$.noconflict()用實函式用來棄放對$識別符號的占用,以便其他庫應用它。

該函式的法語如下:

$.noconflict(jquerytoo)

將識別符號$的控制權歸還給其他庫,許允在頁面上混合應用jquery與其他庫。一旦行執了該函式,必須應用jquery識別符號而不是$識別符號來用調jquery的功能,

你也可以棄放jquery識別符號(可選)

應該在包括了jquery以後,但未尚包括衝突庫之前用調這個方法。

儘管應用的是jquery識別符號,但因為$是jquery的別名,所以在應用$.noconflict()以後全部jquery的功能仍然可用。我們可以定義更短的,但沒有衝突的jquery別名,例如

var  $j = jquery ;

2. 另乙個見常的習慣用法是創立乙個作用域境環,在該境環中$識別符號指向jquery象對,在擴充套件jquery的時候這是個經常使用巧技,特別是對於件插作者來講,他們不可能對於頁面開發者是不是經已用調$.noconflict()作出任何假設,當然也不能自行用調此函式以免壞破頁面開發者的志願,

每日一道理

自己把自己說服了,是一種理智的勝利;自己被自己感動了,是一種心靈的昇華;自己把自己征服了,是一種人生的成功。

這個習慣用法如下:

(function($) ) (jquery);

(function($) )

這分部明聲了乙個函式並用圓括號括起來,由此生成乙個表示式,這個表示式的結果是對乙個匿名函式的引用,這個函式望期傳入單個引數並將其定名為$,在函式主體中,可以通過$識別符號來引用任何傳遞給這個函式的貨色。因為引數明聲優先於全域性作用域中任何類似的定名識別符號,所以任在何函式外定義的$值在函式內都會被傳入的引數所取代。

(jquery)

在匿名函式上行執函式用調,將jquery象對作為引數傳遞

在函式外部不管$識別符號是不是經已在prototype或其他庫中定義,在函式體內它是總指向jquery象對。

當應用這個巧技時,外部明聲的$在函式體內是不可用的。

3. 第二種的用法的乙個變體也經經常使用於明聲就緒處理函式,從而形成了第三種法語,

jquery( function($){

當編寫可重用的件組並且這些件組可能會用於經已應用了$.noconflict()的頁面時,最好對$的定義取採種這預防措施。

文章結束給大家分享下程式設計師的一些笑話語錄: 程式設計師的願望

有一天乙個程式設計師見到了上帝.上帝: 小夥子,我可以滿足你乙個願望.程式設計師: 我希望中國國家隊能再次打進世界盃.

上帝: 這個啊!這個不好辦啊,你還說下乙個吧!

程式設計師: 那好!我的下乙個願望是每天都能休息6個小時以上.

上帝: 還是讓中國國家打進世界盃.

程序識別符號操作函式

每個程序都有乙個非負整型表示的唯一程序 id。雖說是唯一的,但程序 id 是可復用的,當乙個程序終止時,其程序 id 就成為復用的候選者。多數 unix 系統使用延遲復用演算法,使得賦予新建程序的 id 不同於最近終止程序的 id,以免將新程序誤認為是使用同一 id 的某個已終止的先前程序。系統中有...

Scala《識別符號》

val scala.math.sqrt 2 val val 42 println val 1 to10 等價於 1.to 10 1 10 等價於 1 10 1 tostring 等價於 1.tostring val a 42 a等價於 a.unary a 1 等價於 a a 1 構造列表list 1...

python 識別符號

在 python 裡,識別符號由字母 數字 下劃線組成。在 python 中,所有識別符號可以包括英文 數字以及下劃線 但不能以數字開頭。python 中的識別符號是區分大小寫的。以下劃線開頭的識別符號是有特殊意義的。以單下劃線開頭 foo 的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問,不...