Javascript 有没有办法更改函数的名称
我使用的模式来自: 这样我就可以创建很多构造函数。我希望有一种设置函数名的方法。也就是说,给定构造函数Javascript 有没有办法更改函数的名称,javascript,Javascript,我使用的模式来自: 这样我就可以创建很多构造函数。我希望有一种设置函数名的方法。也就是说,给定构造函数 function struct(cls, props) { function Struct(obj) { // add properties for (var name in props) { if (props.hasOwnProperty(name)) { // here you could implement type checking e
function struct(cls, props) {
function Struct(obj) {
// add properties
for (var name in props) {
if (props.hasOwnProperty(name)) {
// here you could implement type checking exploiting props[name]
this[name] = obj[name];
}
}
}
// the following doesn't work for me!
// Struct.name = cls;
return Struct;
}
当我使用它创建实例时,例如
var Person = struct('Person', {
name: String,
surname: String
});
var person = new Person({surname: 'Canti', name: 'Giulio'});
在控制台中,我得到以下信息:
但我更愿意:
Person {name: "Giulio", surname: "Canti"}
有什么建议吗?这里您指的是对象的构造函数;当然你可以改变,但这真的是你想要的吗?这不仅仅是关于名称,它是关于正确的语义。正如你所看到的,用动态名称创建函数变得非常丑陋非常快你来自什么语言,你真正想实现什么?这里没有“匿名函数”。所有函数都已声明并具有名称。人是一个物体。