用javascript创建一个名称空间
create a namespace in javascript
您知道如何用javascript为构造函数对象创建名称吗?我有一把小提琴,请看这个。http://jsfiddle.net/m8jLoon9/2/
前任。
// you can name the object by using this
function MyConstructorName() {}
// with this one, the name of the objct is the variable
var varConstructorName = function() {};
// MyConstructorName{}
console.log( new MyConstructorName() );
// varConstructorName{}
console.log( new varConstructorName() );
// I have a function that creates an object
// with the name arguments provided
function createANameSpace(nameProvided) {
// how to create a constructor with the specified name?
// I want to return an object
// EDITED, this is wrong, I just want to show what I want on this function
var TheName = function nameProvided() {};
// returns an new object, consoling this new object should print out in the console
// the argument provided
return new TheName();
}
// create an aobject with the name provided
var ActorObject = createANameSpace('Actor');
// I want the console to print out
// Actor{}
console.log( ActorObject );
它实际上很简单地实现了如下
创建人:
var my_name_space = { first: function(){ alert("im first"); }, second: function(){ alert("im second"); } };
访问方式:
my_name_space.first();
或
my_name_space.second();
它与在对象中存储变量非常相似:
var car = {type:"Fiat", model:500, color:"white"};
除了"菲亚特"本身就是另一个功能。您可以考虑名称空间是和具有函数的对象。
这似乎是对语言的滥用,但您可以通过以下操作返回任意命名的对象:
function createANamespace(nameProvided) {
return {
constructor: {name: nameProvided}
};
}
我只在chrome上试过这个,所以ymmv。
编辑:或者,如果你真的想滥用语言:
function createANamespace(name) {
return new Function('return new (function '+ name + '(){} )')
}
相关文章:
- 在html页面的属性周围添加了一个额外的空间
- 需要一个文件,然后使用一个函数,而不显式地将所需文件用作命名空间
- 在jQuery中选择一个具有名称空间的节点
- 从另一个命名空间重新定义(第三方)ClojureScript函数
- 是否有一个JavaScript / Jquery组件可以创建一个像Eclipse一样的工作空间
- 如何为我的 class1 创建一个命名空间,然后将其实例化
- 提交回复后 Ajax 它显示一个空白的数据空间
- 从一个.js文件中调用另一个.js文件中的函数时出现命名空间问题
- 如何创建一个网格,其中可变数量的正方形会自动调整大小以适应空间
- 如何在同一个名称中创建两个不同的命名空间空间,避免覆盖第一个
- 在磁盘上做一个JSON文件,当加载到内存中的var中时,会占用相同的空间
- onmouseleave在鼠标进入另一个元素的空间时触发,即使该空间与第一个元素共享
- 用javascript创建一个名称空间
- 如何使用react rails gem预呈现一个名称空间的react组件
- jQuery事件命名空间中所有事件的一个侦听器
- 如何创建一个空的命名空间对象而不覆盖另一个同名对象
- 将javascript命名空间添加到一个巨大的项目中
- 添加一个空间到英国邮政编码在正确的地方
- 如何居中打印()'d拉斐尔文本在一个空间
- 需要添加一个空间与javascript的邮政编码字段