为什么RETURN在javascript中显示不同的输出

为什么RETURN在javascript中显示不同的输出,javascript,return,Javascript,Return,我正在尝试求解一个函数,该函数可以反转输入的参数 因此,如果我运行以下代码,它将非常有效: 函数FirstReversestr{ 设a=str.split; a、 反向; 返回a.join; } logFirstReversehello当reverse会变异数组时,join不会 在第二个示例中,忽略join的返回值,它是一个字符串,而返回a的值,它是数组。当reverse会改变数组时,join不会 在第二个示例中,您忽略了join的返回值,它是一个字符串,而返回了a的值,而a是数组。a.joi

我正在尝试求解一个函数,该函数可以反转输入的参数

因此,如果我运行以下代码,它将非常有效:

函数FirstReversestr{ 设a=str.split; a、 反向; 返回a.join; } logFirstReversehello当reverse会变异数组时,join不会

在第二个示例中,忽略join的返回值,它是一个字符串,而返回a的值,它是数组。

当reverse会改变数组时,join不会


在第二个示例中,您忽略了join的返回值,它是一个字符串,而返回了a的值,而a是数组。

a.join不会改变a-它返回一个全新的数组,在第二种情况下从未使用过。有两件事与您的问题无关:1您不应该以大写字母开头函数的第一个字母信每个人都遵循的惯例是,以大写字母开头的标识符表示构造函数或类,其他所有内容都是大写字母,第一个字母是小写字母。2通过如下链接所有方法调用,可以更简洁地编写该函数:function firstReversestr{return str.split.reverse.join;}。使用ES6+语法,您可以编写:const firstReverse=str=>str.split.reverse.join如果您想执行a.join而不立即返回结果,可以执行let b=a.join;返回b;甚至可以替换原来的a,比如:a=a.join;返回a;。a、 join不会变异a-它返回一个全新的数组,在第二种情况下从未使用过。有两件事与您的问题无关:1您不应该以大写字母开头函数的第一个字母。每个人都遵循的惯例是,以大写字母开头的标识符表示构造函数或类,其他所有内容都是大写字母,第一个字母是小写字母。2通过如下链接所有方法调用,可以更简洁地编写该函数:function firstReversestr{return str.split.reverse.join;}。使用ES6+语法,您可以编写:const firstReverse=str=>str.split.reverse.join如果您想执行a.join而不立即返回结果,可以执行let b=a.join;返回b;甚至可以替换原来的a,比如:a=a.join;返回a;。