JavaScript:参数化构造函数和参数
javascript: parameterize constructor and arguments
我需要一个函数,它首先获取一个构造函数,并将(可变数量的)附加参数作为后续参数,并从中构造一个对象。
有没有JavaScript方法可以做到这一点?我已经创建了以下内容,但我绝不是JavaScript专家,不确定它是否等同于我想要的。
function make_object() {
var args = Array.prototype.slice.call(arguments);
var f = args.shift();
var obj = Object.create(f.prototype);
f.apply(obj, args);
return obj;
}
这是一个正确的解决方案吗?还有更简单的事情吗?
理论上是的,如果您尝试执行下面看到的操作,您的代码应该可以工作 - 但正如其他人所评论的那样,您的最终目标是什么? 不想把这段代码作为注释,但它更像是一个注释而不是一个答案
function make_object() {
var args = Array.prototype.slice.call(arguments);
var f = args.shift();
var obj = Object.create(f.prototype);
f.apply(obj, args);
return obj;
}
function Person(color, occupation) {
this.eyes = color
this.occupation = occupation
}
Person.prototype = {
"homosapien":true
}
var me = new make_object(Person, 'brown', 'developer');
console.log(me) // logs Object { eyes="brown", occupation="developer", homosapien=true}
相关文章:
- 使用闭包共享构造函数参数
- 当一个重要的构造函数参数丢失时应该发生什么
- 使构造函数参数具有ES6类方法的特权
- Windows.Networking.EndpointPair构造函数参数
- ES6类构造函数参数
- 具有默认参数值的 ES6 类构造函数上的 NodeJS 错误
- 访问谷歌登录函数 Angular 2 中的构造函数参数
- 如何在node.js中查找进入构造函数的参数数量
- JavaScript-构造函数参数和原型继承
- JavaScript构造函数参数
- javascript中带有参数的构造函数
- 避免将jquery选择器作为构造函数参数发送时内存泄漏
- 在nodejs中,如何使模块的单个实例具有不同参数的构造函数
- 是否需要初始化在 Javascript 中作为“类”构造函数参数传递的变量
- 消费者如何在 Angular 2 中提供组件构造函数参数
- 通过将参数传递给我们的构造函数来创建唯一的对象
- Angular2 将函数参数传递给构造函数
- 在 JavaScript 中以编程方式设置构造函数参数
- 获取“未定义无参数构造函数”;错误,不知道为什么
- Dojo无参数构造函数调用带有参数的基构造函数