js插件封装

封装一个js插件其实非常简单

第一步,先拿出需要封装功能函数

function xxx(options) {...};

第二步,避免插件内参数与项目中发生冲突,需要给插件设置作用域

;{function () {
	function xxx(options) {..}
}}()

封闭作用域之后在外部如何调用呢
第三步,将插件内函数暴露出去

;{function () {
	function xxx(options) {..}
	this.xxx = xxx;
}}.call(
    this || (typeof window !== 'undefined' ? window : global)
);

第四步,兼容AMD,CMD

;{function () {
	function xxx(options) {..}
	
	if (typeof module !== 'undefined' && typeof exports === 'object') {
        module.exports = xxx;
    } else if (typeof define === 'function' && (define.amd || define.cmd)) {
        define(function() { return xxx; });
    } else {
        this.xxx= xxx;
    }
}}.call(
    this || (typeof window !== 'undefined' ? window : global)
);

你可能感兴趣的:(js插件封装)