作为私有命名空间的函数
来源:互联网 发布:mac iphone 蓝牙 网络 编辑:程序博客网 时间:2024/06/08 09:51
一、返回单个类的API
例如:
var set = (function invocation(){
function Set(){ //构造函数的命名首字母需要大写
this.values = {};
this.n = 0;
}
//给Set定义实例方法
Set.prototype.size = function(){
return this.n;
}
return Set; //返回这个构造函数。此处将Set()作为了一个公共的API给其他调用者使用
}()); //函数自我调用
如果想让代码在一个私有命名空间中运行,只需要给这段代码加上前缀“function(){”和后缀“}())”。
开始的左圆括号确保这是一个函数表达式,而不是函数定义语句,因此可以给该前缀添加一个函数名来让大妈变得更加清晰。
二、返回集合API,有3种方式。
1、直接返回一个对象,比如:
var collections;
if(!collections) collections = {};
collections.sets = (function namespace(){
return {
AbstractSet: AbstractSet,
ArraySet: ArraySet
};
}());
2、将模块函数单做构造函数,通过new来调用,并将它们赋值给this来将其导出
var collections;
if(!collections) collections = {};
collections.sets = (new function namespace(){this.AbstractSet = AbstractSet;
this.ArraySet = ArraySet;
}());
3、如果已经定义了全局命名空间对象,这个模块函数就可以直接设置那个对象的属性,不用返回任何内容。
var collections;
if(!collections) collections = {};
collections.sets = {};(function namespace(){
collections.sets.AbstractSet = AbstractSet;
collections.sets.ArraySet = ArraySet;
});
- 作为私有命名空间的函数
- JavaScript函数作为命名空间
- 犀牛——第8章函数8.5作为命名空间的函数
- 关于命名空间的函数
- 使用 .NET Framework 的 Cryptography 命名空间保护私有数据
- 使用 .NET Framework 的 Cryptography 命名空间保护私有数据
- 【笔记】 《js权威指南》- 第8章 函数 - 8.5 作为命名空间的函数 - 8.6 闭包
- JavaScript权威指南_66_第8章_函数_8.5-将函数作为命名空间
- VC++导出具有命名空间的函数
- 函数定义命名空间的使用
- 命名空间引起的函数声明问题
- jQuery 命名空间函数
- 函数与命名空间
- Python的 私有 共有 命名
- javascript 通用命名空间函数
- JavaScript编写命名空间函数
- 命名空间和全局函数的使用一例
- 函数和类的作用域及命名空间
- 聚类
- 基于LZO算法的编解码器
- Html5 总结快捷键方式
- B. The Meeting Place Cannot Be Changed(二分)
- 字符串单元节(KMP中NEXT数组剖析)
- 作为私有命名空间的函数
- 集合:Collection API 以及List
- redis服务器相关学习笔记
- MyBatis动态SQL标签用法
- 保存上传图片的流信息
- hdu 1402 A * B Problem Plus FFT模板
- javascript初学记---3 应该是函数加点对象 (附带promise解析)
- 写一个函数实现根据下拉列表的变化,更新图片显示
- x86 汇编 之 指令基础 (AT&T格式 / Linux)