Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中创建要与new一起使用的函数别名_Javascript - Fatal编程技术网

如何在javascript中创建要与new一起使用的函数别名

如何在javascript中创建要与new一起使用的函数别名,javascript,Javascript,说我有 function Person(birthDate){ // parameter accepting is unknown to the alias maker this.birthDate = birthDate; this.getAge = function() { return new Date().getFullYear() - this.birthDate.getFullYear(); }; }; 我只是简单地把函数名“Person

说我有

function Person(birthDate){ // parameter accepting is unknown to the alias maker
    this.birthDate = birthDate;    
    this.getAge = function() {
      return new Date().getFullYear() - this.birthDate.getFullYear();
    };
};
我只是简单地把函数名“Person”给了一些不知道Person可以接受多少参数的人,并让他给Person取个别名

该别名的工作方式应与Person相同

var dave = new Alias_Person(new Date(1909, 1, 1)); // here number of parameters is unknown
dave.getAge(); //returns 100.
别名应该是什么

请注意,别名应该有自己的功能,而不仅仅是个人的引用

现在我是,

var Alias_Person = function(){
    return Person.apply(null, arguments);
  };
但这并不能返回正确的结果

编辑:我的最终目标是摆脱与日期一起使用的“new”。简单地使用Date()总是会生成当前日期和时间。我想要这样的东西


My_Date({parameters})返回与“new Date({parameters})”相同的结果

您只需执行
var Alias_Person=Person

如果出于某种原因确实需要使用不同的函数,则需要重新分配原型,以便两个构造函数使用相同的对象进行继承

function Alias_Person() {
    return Person.apply(this, arguments);
//                      ^^^^ also don't forget to pass the instance
}
Alias_Person.prototype = Person.prototype;

如果您不关心是否使用
new
调用
Alias\u Person
,只想返回
Person
实例,请查看,这可能会导致

function Alias_Person() {
    var inst = Object.create(Person.prototype);
    return Person.apply(inst, arguments) || inst;
}

您只需执行
var Alias\u Person=Person

如果出于某种原因确实需要使用不同的函数,则需要重新分配原型,以便两个构造函数使用相同的对象进行继承

function Alias_Person() {
    return Person.apply(this, arguments);
//                      ^^^^ also don't forget to pass the instance
}
Alias_Person.prototype = Person.prototype;

如果您不关心是否使用
new
调用
Alias\u Person
,只想返回
Person
实例,请查看,这可能会导致

function Alias_Person() {
    var inst = Object.create(Person.prototype);
    return Person.apply(inst, arguments) || inst;
}

您只需执行
var Alias\u Person=Person

如果出于某种原因确实需要使用不同的函数,则需要重新分配原型,以便两个构造函数使用相同的对象进行继承

function Alias_Person() {
    return Person.apply(this, arguments);
//                      ^^^^ also don't forget to pass the instance
}
Alias_Person.prototype = Person.prototype;

如果您不关心是否使用
new
调用
Alias\u Person
,只想返回
Person
实例,请查看,这可能会导致

function Alias_Person() {
    var inst = Object.create(Person.prototype);
    return Person.apply(inst, arguments) || inst;
}

您只需执行
var Alias\u Person=Person

如果出于某种原因确实需要使用不同的函数,则需要重新分配原型,以便两个构造函数使用相同的对象进行继承

function Alias_Person() {
    return Person.apply(this, arguments);
//                      ^^^^ also don't forget to pass the instance
}
Alias_Person.prototype = Person.prototype;

如果您不关心是否使用
new
调用
Alias\u Person
,只想返回
Person
实例,请查看,这可能会导致

function Alias_Person() {
    var inst = Object.create(Person.prototype);
    return Person.apply(inst, arguments) || inst;
}


但是我不知道基函数的原型。。哦,现在看看editwell,我的最终目标是在新操作符中使用Date。如果我不在Date中使用new,它总是给出当前日期,我只想去掉“new”,解决方案不会;使用:函数My_Date(){var inst=Object.create(Date.prototype);return Date.apply(inst,arguments);}返回与DateAww相同的结果,这些技术。如果你在寻找假日期,看看吧,但我不知道基函数的原型。。哦,现在看看editwell,我的最终目标是在新操作符中使用Date。如果我不在Date中使用new,它总是给出当前日期,我只想去掉“new”,解决方案不会;使用:函数My_Date(){var inst=Object.create(Date.prototype);return Date.apply(inst,arguments);}返回与DateAww相同的结果,这些技术。如果你在寻找假日期,看看吧,但我不知道基函数的原型。。哦,现在看看editwell,我的最终目标是在新操作符中使用Date。如果我不在Date中使用new,它总是给出当前日期,我只想去掉“new”,解决方案不会;使用:函数My_Date(){var inst=Object.create(Date.prototype);return Date.apply(inst,arguments);}返回与DateAww相同的结果,这些技术。如果你在寻找假日期,看看吧,但我不知道基函数的原型。。哦,现在看看editwell,我的最终目标是在新操作符中使用Date。如果我不在Date中使用new,它总是给出当前日期,我只想去掉“new”,解决方案不会;使用:函数My_Date(){var inst=Object.create(Date.prototype);return Date.apply(inst,arguments);}返回与DateAww相同的结果,这些技术。如果你在寻找假日期,看看为什么你需要一个额外的函数(不仅仅是一个引用)?仅仅是为了一个实验。为什么你需要一个额外的函数(不仅仅是一个引用)?仅仅是为了一个实验。为什么你需要一个额外的函数(不仅仅是一个引用)?仅仅是为了一个实验。为什么你需要一个额外的函数(不只是参考)?只是为了实验。