javascript模块化编程

最近因为多写了点js,感觉就会function,很多时候重名问题会污染变量,导致的问题找也找不到原因,所以花点时间总结下javascript模块化编写方法:

 

   1:一般简单的用

     

function login(){

}

function logout(){

}

function ajax(){

}

   引用js,调用login(),loguo()就可以了,但是如果有其他的login()函数 就会出现问题,所以此方法不适合写公用的js库

 

   2:对象方式

     

var oauth = {
    
    login:function(username, pwd){
    	if(username && pwd){
    		console.log(pwd);
    		return true;
    	}
    },
    
    logout:function(){
    	console.log('logout');
    }
};

console.log(oauth.login("ljq", "123456"));
oauth.logout();

    缺点会暴露变量,所有可以被外部修改

 

    3:立即执行函数

    

var jQuery = jQuery || {} ;

var oauth2 = (function($){ // 自执行后返回对象 传入jquery对象
	
	var login = function(username, pwd){
		if(username && pwd){
			console.log(pwd);
			return true;
		}
	};
	
	var logout = function(){
		console.log('oauth2 logout');
	};
	
	return {
		login : login,
		logout : logout
	};
	
}(jQuery));

console.log(oauth2.login('ljq', '123456798..'));
oauth2.logout();

    最好还是用立即执行函数后返回一个对象;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值