Javascript简明教程6 定义时执行与单例模式

在上一次的文章里写了

可以这样来定义一个js的函数

var f=function(){
 alert(1);
};

这个相信大家都明白了,f本身就是一个函数

如果我接着这样写的话:

f=function(){
 alert(2);
};

那么这个函数是一样被改写的.

试想我们如下来写一个函数

 

var f=function(){
  alert(1);
  f=function(){alert(2);};
};

 

这样在首次执行时会运行alert(1);然后将f赋值为新的函数这样就会实现单例模式了

那么怎么才能在定义时自动运行呢请看如下代码

 

var f=function(r){
 	var a=function(r){alert(1);};
 	a();
	return a;
}();

 

这样就可以实现自动运行了

posted @ 2008-09-24 11:43  tiny羊  阅读(516)  评论(0)    收藏  举报