几种通用的js函数编写模式

一.API模式
1.回调模式。
回调模式就是将函数作为参数进行传递。例如:

   
   
1
2
3
4
5
6
7
8
9
function  writeCode ( callback ) {
     //
     callback ( ) ;
}
function  introduceBugs ( ) {
     //
}
writeCode ( introduceBugs ) ;

其实回调函数的作用是为了解耦,即把业务逻辑和通用函数分别开来,让通用函数得到复用。需要注意的一点是
当回调函数是某个对象的方法而不是一次性匿名函数或者全局函数时,它this的指向在被调用时可能就会发生变化。

2.返回函数。
当一个函数的返回值是另一个函数时。
返回函数的包装函数创建了一个闭包,可以使用这个闭包存储一些私有数据,而这些数据仅可
被该返回函数访问,但外部代码无法访问。

   
   
1
2
3
4
5
6
7
8
9
10
11
var  setup  =  function ( ) {
     var  count  =  0 ;
     return  function ( ) {
         return  ( count  +=  1 ) ;
     } ;
} ;
var  next  =  setup ( ) ;
next ( ) ;  //1
next ( ) ;  //2
next ( ) ;  //3


3.配置对象
有助于保持受到控制的函数的参数数量。
假如一个添加人员信息的函数是这样的:
function addPerson(name,age,number,address,bob.....){}
以后参数可能还会增加,并且你还要记住这些参数的顺序和名字,这样不容易阅读和维护。
一个更好的办法是仅用一个参数对象来替代所有参数:
var conf = {
name:"jane",
age:"girl",
number:"123456",
address:"sicbisbcbhdu",
bob:"sbuxbisbh"
}
addPerson(conf);

当函数创建DOM元素时,这种模式可能是非常有用的,例如可以用在设置元素的CSS样式中。

二.初始化模式
它可以帮助你在不污染全局命名空间的情况下,使用临时变量以一种更加简洁,结构化的方式执行初始化
以及设置任务。
1.即时函数
只要定义之后立即执行。
两种形式:
(function(){
    alert("hello world");
}());

(function(){
     alert("hello world");
})();(常用)
该模式是非常有用的,提供了一个私有作用域,在页面加载时可以初始化仅需执行一次的代码。也可以将参数传递到即时函数,但最好不要
传递过多的参数,减少阅读负担。即时函数也有返回值,可以返回一个函数,提供外面调用内部函数的接口。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值