js文件載入完畢有哪幾種寫法以及如何開發jq外掛程式?

2021-09-28 22:31:54 字數 1939 閱讀 5810

這裡是修真院前端小課堂,每篇分享文從

八個方面深度解析前端知識/技能,本篇分享的是:

【js文件載入完畢有哪幾種寫法以及如何開發jq外掛程式? 】

1:js載入完畢有哪幾種寫法

一、當不引入jquery框架,只寫原生js**時,需要用window物件的onload事件

window.οnlοad= function())(jquery,window,document);

(1)、在最開始使用分號的目的是為了防止多個檔案壓縮合併時,因為其他檔案最後一行語句沒加分號,而引起合併後的語法錯誤(如果能確保不會有多個檔案壓縮合併的情況,可以不寫這個分號)

(2)、這就是乙個匿名函式的自執行,一般js庫都採用這種自執行的匿名函式來保護內部變數

(3)、形參中的是jq

uery

的簡寫,

很多方法

和類庫也

使用

是jquery的簡寫,很多方法和類庫也使用

是jquer

y的簡寫

,很多方

法和類庫

也使用,這裡接收j

quer

y物件,

也是為了

避免

接收jquery物件,也是為了避免

接收jque

ry物件

,也是為

了避免變數衝突,保證多個外掛程式之間可以正常執行(如果只引入了jquery這乙個外掛程式,可以不寫這個)

(4)、實參分別接收window,document這兩個物件,window,document這兩個物件都是全域性環境下的,而在函式體內的window,document其實是區域性變數,不是指全域性的window,或是document物件。這樣做有個好處就是可以提高效能,減少作用域的查詢時間(如果在函式體內需要多次呼叫window,或是document物件,這樣把window或是document物件作為引數傳進去,是非常有必要的。如果**中沒有用到這兩個物件,那麼就不需要傳這兩個引數了)

(5)、使用undefined的原因:

①因為undefined是window的屬性,宣告為區域性變數之後,在函式中如果再有變數與undefined做比較的話,程式就可以不用到window下搜尋undefined,可以提高程式的效能

②undefined在有些版本較舊的瀏覽器是不被支援的,直接使用會報錯,js框架就要考慮到相容性問題,所以增加乙個形參undefined

2、比較常用的寫法:

$(document).ready(function(); var settings = $.extend(defaults, options); return this.css(); }

現在,我們呼叫的時候指定顏色,字型大小未指定,會運用外掛程式裡的預設值12px。

$(『a』).myplugin();

執行結果:

同時指定顏色與字型大小:

$(『a』).myplugin();

保護好預設引數

注意到上面**呼叫extend時會將defaults的值改變,這樣不好,因為它作為外掛程式因有的一些東西應該維持原樣,另外就是如果你在後續**中還要使用這些預設值的話,當你再次訪問它時它已經被使用者傳進來的引數更改了。

乙個好的做法是將乙個新的空物件做為$.extend的第乙個引數,defaults和使用者傳遞的引數物件緊隨其後,這樣做的好處是所有值被合併到這個空物件上,保護了外掛程式裡面的預設值。

$.fn.myplugin = function(options) ; var settings = $.extend({},defaults, options);//將乙個空物件做為第乙個引數 return this.css(); }

到此,外掛程式可以接收和處理引數後,就可以編寫出更健壯而靈活的外掛程式了。

6.拓展思考

如果外掛程式體積較大,如何使外掛程式結構更清晰,易維護

使用物件導向的方法去開發外掛程式

7.參考文獻

教你開發jquery外掛程式

原生js與jquery文件載入完畢的寫法

JS有哪幾種傳參方式?

我們今天講的傳參是指頁面之間的資料傳遞。傳統的前端開發中,頁面之間是少有引數互動的,甚至沒有,而在如今的前端環境下,乙個稍微正式點的專案都不可能少了頁面間傳參,頁面的跨越 伺服器後台進行資料請求等,都需要乙個或多個傳參的方法。那麼引數在不同的頁面間進行傳遞,乙個頁面的引數被另一頁面使用,如何才能做到...

JS有哪幾種傳參方式

所有函式的引數都是按值傳遞的,也就是說把函式外部的值賦值給函式內部的引數,就和把值從乙個變數賦值到另乙個變數一樣。js高階程式設計 有的人可能會把這裡的js傳參方式,理解成js函式中的引數傳遞,但是呢,我們所要講的是頁面之間的資料傳遞。傳統的前端開發中,頁面之間是少有引數互動的,甚至沒有,而在如今的...

vi有哪幾種模式

vi有三種工作模式,分別是 1 命令模式,是啟動vi後進入的工作模式,並可轉換為文字編輯模式和最後行模式 2 文字編輯模式,用於字元編輯 3 最後行模式。vi有三種工作模式 命令模式 文字編輯模式和最後行模式。不同工作模式下的操作方法有所不同。1 命令模式 命令模式是啟動vi後進入的工作模式,並可轉...