还能怎么写?第一次看见这样
例子1
var s=(function(){
var a;
操作
return a;
})();
我晕了。。。然后
例子2
var s=(function(){
var a;
操作
return function(){
};
})();
我继续晕。。。一个简单函数的声明变这样了。
为什么?为什么?为什么要把简单的事情变的这么复杂。错了,其实是把复杂的问题简单化。
在我们常见的javascript代码中很随意的声明函数和变量以及外联js文件。很容易造成命名冲突互相覆盖等问题,虽然我们可以通过命名规则避
免这种情况的产生。有没没比命名规则更好的解决办法,我们都知道java通过包名称和类名称以及private来解决这些问题,并且隐藏实现,仅仅暴露必
须的暴露的api接口。
-
1.
现在来理解第一段代码:
var s=(function(){
var a;
操作
return a;
})();
对于一段复杂的求值过程,我们可能声明数个变量,而这些变量又暴露在全局的空间。如果通过上述的方式,所有声明的的变量都在function里面运
算,对于全局是不可见的,我们仅仅暴露一个变量s。
-
2.
第二段代码
var s=(function(){
var a=0;
return function(){
a++;
alert(“这函数被调用了”+a+”次”);
var b;
};
})();
我们声明了一个函数s,s可能被多次执行,刚好我们的s需要一个类似于java 中的private
static变量而javascript没有?怎么办。我可以在函数外面声明一个全局变量,但是这样又占用了一个名称资源,以及可能产生的冲突,因此便有
上述代码。
变量a对应函数外部不可见,却又是静态的,刚好相当private static。
下期预告来个简单jquery这种实现。
分享到:
相关推荐
javascript写的树形结构,可收缩,可展开。
javascript写3D的圣诞树javascript写3D的圣诞树javascript写3D的圣诞树javascript写3D的圣诞树javascript写3D的圣诞树
javascript写的windows资源管理器 解压运行scripting.html,在IE6.0中打开(不能单独打开view.html这是一个子页面,必须由父页面调用)即可。 本javascript程序是我自己利用业余时间做的,主要是编写javascript进一步对...
JavaScript 读写文件 实例代码 简单有效
这个是一个界面比较好、而且比较简单地用javascript语言和html语言写的一个计算器,非常适合初学者
这是我用javascript写的一个计算器,效果类似于window xp自带的计算器
费了很长时间才写完的,仅供参考,呵呵,javascript的感觉很好
这是我用javascript和JSP写的画面输入画面,如何通过纯"Java"写这个输入画面,并被JSP调用? 论坛中不能上传图片,我只好放在这里了!不好意思啦!
javaScript轮播图javaScript轮播图javaScript轮播图javaScript轮播图javaScript轮播图javaScript轮播图javaScript轮播图javaScript轮播图javaScript轮播图javaScript轮播图javaScript轮播图javaScript轮播图...
用javascript写的时钟,挺具有代表意义的一个东西,其中好多方面还是比较好的
javascript写的拼图游戏javascript写的拼图游戏
HTMLh和JavaScript写的泡泡龙小游戏.zipHTMLh和JavaScript写的泡泡龙小游戏.zipHTMLh和JavaScript写的泡泡龙小游戏.zipHTMLh和JavaScript写的泡泡龙小游戏.zipHTMLh和JavaScript写的泡泡龙小游戏.zipHTMLh和...
自己用javascript写出来的验证码
选择日期时间的例子,javascript 写
自己写的javascript小脚本无刷新验证。好用
在前台页面调用javascript,读写XML文件
自己用Javascript和Html写的一个简单计算器,新手还望大家多多赐教。
javascript 写的日期控件,非常好
用html+javascript读出写入txt文件
JS和HTML和JAVAScript写的打字小游戏 .htmlJS和HTML和JAVAScript写的打字小游戏 .htmlJS和HTML和JAVAScript写的打字小游戏 .htmlJS和HTML和JAVAScript写的打字小游戏 .htmlJS和HTML和JAVAScript写的打字小游戏 ....