繁体   English   中英

JavaScript /在函数中返回对象

[英]JavaScript/ return an object in function

我有一个带有3个字段的对象:num,int,str,字符串和arr,数组。 所以我定义它:

function myClass(num, str, arr) {
   this.num = num;
   this.str = str;
   this.arr =arr;
}

现在,我有了函数,它的返回值是myClass。 该函数获取字符串:

function myfunc(str){
   var str1 = str.split(" ");
   return myClass(1, str1[0], str1);
}

但是当我运行它时,它返回undefine 如何返回myClass对象?

您缺少关键字:

function myfunc(str){
   var str1 = str.split(" ");
   return new myClass(1, str1[0], str1);
}

您需要return new myClass(...)

没有new关键字, myClass函数就像一个普通函数一样,不返回任何内容(因此为undefined )。

随着 new关键字,一个新的对象将被创建并为通过this ,那相同的对象将是默认的返回值。

function myfunc(str){
   var str1 = str.split(" ");
   return new myClass(1, str1[0], str1);//add new keyword here
}

新关键字会产生一个对象,该关键字,这将参考。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM