Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.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 为了得到Person对象,函数的返回应该是什么?_Javascript_Jquery - Fatal编程技术网

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
for
console.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
会有什么不同呢?他正在改变函数体