我希望在函数应用为new时获取参数名称。我有搜索,但我找不到我正在寻找的东西。
以下是一个示例;
var myobject = function(){
/*I need "param" in here as string*/
}
var param = new myobject();
感谢没有任何图书馆的任何想法或反对。
原始案例代码是:
var selectQueue = [];
var queue = function(data){
this.defaults = {
name: "base",
type: "fifo"
}
this.availableTypes = ["fifo","lifo","random"];
if(!data){data = {};}
for(param in this.defaults){
if(!data[param]){
data[param] = this.defaults[param];
}
}
/*this is what i want to do with dynamic name*/
selectQueue.push({
a:this
});
}
var a = new queue();
答案 0 :(得分:1)
您想要的在JS中是不可能的,但可能的解决方法是将您想要的名称发送给构造函数,例如:
var selectQueue = [];
var queue = function(data, name){
this.defaults = {
name: "base",
type: "fifo"
}
this.availableTypes = ["fifo","lifo","random"];
if(!data){data = {};}
for(param in this.defaults){
if(!data[param]){
data[param] = this.defaults[param];
}
}
var o = {};
o[name] = this;
selectQueue.push(o);
}
var a = new queue(data, 'a');
另一种可能性是跟踪selectQueue
的当前索引。
答案 1 :(得分:-2)
该对象具有属性,这是语法。
var myObject = function(){
name: "your name",
age: 19,
hobby: "football"
}
var param = myObject.name;
这是您定义属性的方式。