Javascript 为了得到Person对象,函数的返回应该是什么?
您能告诉我函数的返回应该是什么吗?这样在Javascript 为了得到Person对象,函数的返回应该是什么?,javascript,jquery,Javascript,Jquery,您能告诉我函数的返回应该是什么吗?这样在两种情况下,我将得到真值 function Person(name){ this.name = name; return false; } var p1 =new Person('ss') var p2 = Person('sdd') console.log(p1 instanceof Person) console.log(p2 instanceof Person) 目前,我在第一个案
两种情况下,我将得到真值
function Person(name){
this.name = name;
return false;
}
var p1 =new Person('ss')
var p2 = Person('sdd')
console.log(p1 instanceof Person)
console.log(p2 instanceof Person)
目前,我在第一个案例中得到true
而不是第二个那么我应该返回什么才能在这两种情况下得到true
在第二种情况下,我不想使用new
关键字..为什么你们要用我..我知道使用new
我可以创建对象。但是我想知道如果没有new
关键字你需要如何创建p2
作为Person
的实例作为var p2=new Person('sdd'))
然后它将返回true
forconsole.log(Person的p2实例)
职能人员(姓名){
this.name=名称;
返回false;
}
变量p1=新人(“ss”);
变量p2=新人(“sdd”);
控制台日志(个人的p1实例);
console.log(p2个人实例)代码>您可以检查并创建该函数的实例
new.target
属性用于检测是否使用运算符调用了函数或构造函数。在使用新运算符实例化的构造函数和函数中,new.target
返回对构造函数或函数的引用。在正常函数调用中,new.target
为
职能人员(姓名){
如果(!new.target){
返回新的人员(姓名);
}
this.name=名称;
}
变量p1=新人(“ss”),
p2=人(“sdd”);
控制台日志(个人的p1实例);
console.log(p2个人实例)
如果你不创建它的实例,它怎么可能是的实例呢?我是说不使用new
我可以创建person
object
伙计们,这没有意义,你们投票关闭了,然后回答了吗?如果你认为这个问题太宽泛,那么不应该回答它,如果你要回答,那么不要投票关闭它!这是正确的answer@AlivetoDie对另外,如果(!new.target)
,为什么OP愿意在其函数中添加更多代码。在一天结束时,您仍然返回一个Person
的实例,那么在您创建Person
user5711656时仅使用new
会有什么不同呢?他正在改变函数体