闭包对外暴露接口(2种)
来源:互联网 发布:ios5旧版软件下载 编辑:程序博客网 时间:2024/04/29 04:55
经常使用JavaScript的同学应该注意过类似于下面这样结构的脚本语言
著名的第三方类库jQuery就是用到这样的语法,这个就叫做“自执行匿名函数”
第一次看到这样的语法的时候其实感觉挺奇怪的,除了括号里面的匿名函数外“()();“,两个括号且以分号结尾,着实有点难以理解。其实仔细分析一下还是可以讲的通的。
首先,小括号在语句中起到”表达式组合分块“作用,并且每个分组都会有返回值,在控制台下运行执行下面的语句试试
alert(typeof function(){});
// “function”
可见自执行匿名函数的第一个括号返回的是一个“Function对象”,实际上小括号加上匿名函数返回的是一个匿名函数的引用,后面再加一个括号就跟普通函数的调用一样,由此便可以解释括号里面的匿名函数为什么可以达到自执行的效果了
下面代码中有两种对外暴露接口的方式:
//方法一
window.ax=basz;
})();
console.log(ax()); //...and now this works.
console.log(37);
//方法二
var foo = ( function() {
// “闭包”内的函数可以访问 secret 变量,而 secret 变量对于外部却是隐藏的
} () );
console.log(foo.get_secret ());
console.log(foo.secret);// Type error,访问不能
foo.new_secret ('a new secret'); // 通过函数接口,我们访问并修改了 secret 变量
console.log(foo.get_secret ());
http://blog.sina.com.cn/s/blog_b683ee8d0102vff1.html
- 闭包对外暴露接口(2种)
- 对外接口暴露的问题
- C++中模块(Dll)对外暴露接口的几种方式
- 使用dubbo对外暴露接口,实现类同时实现两个接口后 @Autowire失败,提示expected single matching bean but found 2解决方案
- WebService 写对外接口
- 用 __all__ 暴露接口
- __all__暴露接口
- dll的对外函数接口
- 前端开发,调用对外接口
- 对外接口如何保证安全
- 【Python】用 __all__ 暴露接口
- java 接口里暴露函数
- 模块对外提供接口 技巧总结
- 传说中的淘宝对外接口API
- 开放平台对外接口参数验证
- 免费WebService对外接口(汇总)
- 免费WebService对外接口(汇总)
- 免费WebService对外接口(汇总)
- C# 关键字const和readonly对比
- 机器学习
- #include< >和#include""的区别
- mysql 5.6 enable GTID replication
- STL 总结
- 闭包对外暴露接口(2种)
- hdu 2045不容易系列之(3)—— LELE的RPG难题(递推)
- 生成算法和判别算法
- 关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系
- [android基础]怎样获取Android手机屏幕的大小、分辨率、密度
- WMI识别USB设备并直接拷贝设备中图片
- 我的.bashrc文件
- 【Flask】FlaskWeb开发上手点滴(01)-入门
- 洛谷 1059——明明的随机数(排序)