js寫外掛程式教程深入

2022-09-17 03:24:12 字數 1767 閱讀 2213

1.介紹具有安全作用域的建構函式

function fn(name)

fn.prototype =

}new fn();

//new 出來的fn就是乙個建構函式

//倘若有人忘記寫new,直接呼叫fn();此時var p = fn();可見例項p沒有getf的方法;

//為了解決這種問題;引入了安全作用域的建構函式概念

function fn(name)else

}fn.prototype =

}

2.預設引數

//我們用過一些外掛程式,是可以傳一些配置引數的,當然如果你不傳的話它有預設的值,

function fn(params);

var params = params||{};

for (var x in defaults)

}this.params= params;//得到的this.params,在方法中呼叫;

}fn.prototype =

3.方法到底寫到this裡還是prototype 裡

//舉個例子

//①function fn()

}//or...

//②function fn(){}

fn.prototype.getc = function(){}

//大家可能都會有這樣的糾結,getc到底寫到this裡還是原型裡

//這要從記憶體說起;寫到原型上,每執行乙個例項,getc不需要開闢新的記憶體

//故,可以把一些純計算的方法,寫原型上,如果方法和例項本身有關,應該寫道this中

4.方法名防止衝突處理

//如果在引入你的外掛程式之前,window下已經有fn的變數;怎麼辦,你如果這麼搞; 豈不是把別人寫的fn搞掉了

//此時應該把fn的控制權交出,自己用fn2輸出

(function()

fn.prototype =

/**這裡暫時沒寫好;

*/ if(window.fn)else

}())

5.對外輸出的規範化exprot 、amd 完整寫法

;(function(global) ;

//覆寫原型鏈,給繼承者提供方法

myplugin.prototype =

};//相容commonjs規範

if (typeof module !== 'undefined' && module.exports) module.exports = myplugin;

//相容amd/cmd規範

if (typeof define === 'function') define(function() );

//註冊全域性變數,相容直接使用script標籤引入該外掛程式

global.myplugin = myplugin;

//this,在瀏覽器環境指window,在nodejs環境指global

//使用this而不直接用window/global是為了相容瀏覽器端和服務端

//將this傳進函式體,使全域性變數變為區域性變數,可縮短函式訪問全域性變數的時間

})(this);

js寫乙個外掛程式

分號開頭,用於防止 壓縮合併時與其它 混在一起造成語法錯誤 而事實證明,uglify壓縮工具會將無意義的前置分號去掉,我只是習慣了這麼寫 function 立即執行函式,閉包,避免汙染全域性變數 通常乙個外掛程式只暴露乙個變數給全域性供其它程式呼叫 還有其它寫法,運算子 函式體 括號 例 funct...

寫專案常用的js外掛程式合集

artdialog 彈出視窗 mt97 日曆外掛程式 formvalidator 表單驗證 easyui 前端框架 buttons 按鈕樣式庫 font awesome 圖示字型庫 ueditor 網頁內容編輯外掛程式 echarts 圖表外掛程式 cropzoom 剪下 gridly 拖放外掛程式...

VuePress教程之深入理解外掛程式API

本文目錄 1 vuepress教程之深入理解外掛程式api 2 外掛程式 2.1 暖暖身 2.2 外掛程式如何運作 3 準備 3.1 markdown 3.2 pages 3.3 ready 4 自定義的指令 5 dev 5.1 建立 webpack 配置 5.2 dev server 6 buil...