Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.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反向函数的语法_Javascript_Function_Reverse - Fatal编程技术网

javascript反向函数的语法

javascript反向函数的语法,javascript,function,reverse,Javascript,Function,Reverse,嘿,伙计们,我知道以下内容将用于反转传递给函数的字符串: 功能反向限制(str){ 返回str.split(“”).reverse().join(“”); } 反向限制(“你好”)这些函数不修改字符串;字符串是不可变的。函数返回新值 所以,像这样的声明 str.split(''); 是有效语句,但它没有净效果,因为返回的数组被忽略。在您引用的第一个示例中,返回的值用作对象上下文,从中访问和调用后续函数。那里的return语句返回链中最后一次函数调用的结果(调用.join())尝试使用var,

嘿,伙计们,我知道以下内容将用于反转传递给函数的字符串:

功能反向限制(str){
返回str.split(“”).reverse().join(“”);
}

反向限制(“你好”)这些函数不修改字符串;字符串是不可变的。函数返回新值

所以,像这样的声明

str.split('');

是有效语句,但它没有净效果,因为返回的数组被忽略。在您引用的第一个示例中,返回的值用作对象上下文,从中访问和调用后续函数。那里的
return
语句返回链中最后一次函数调用的结果(调用
.join()

尝试使用
var
,如果预期结果是重新定义
str
,则使用
str=/*新值*/

功能反向限制(str){
var copy=str.split(“”);
copy.reverse();
str=copy.join(“”);
返回str;
}

log(reverseString(“hello”))
首先,字符串是不可变的,您可以创建新的必需字符串,使用第一个这样的方法通过操作/调用方法返回值

第一个函数调用链中的方法。也就是说,一个函数(仅对象/引用类型)调用其方法以计算新结果的返回值

str.split('').reverse().join('');
在这里,split返回数组,数组的reverse方法反转数组(索引)中的内容,最后join方法以“”作为分隔符连接数组元素


而在第二个函数中,它只是语句的顺序调用。我猜在
str.join(“”)中
在string prototype中没有名为
join
的函数。

方法调用是链接的,因此每个方法都使用上一个方法的返回值。如果保留返回值以便在下一个语句中使用,则可以在单独的语句中执行相同的操作:

功能反向限制(str){
var arr=str.split(“”);
arr=arr.reverse();
var结果=arr.join(“”);
返回结果;
}

log(reverseString(“hello”)str=str.split(“”);str=…请允许我吹毛求疵,让您知道这个片段不起作用。JavaScript是UTF-16,所以像
“嗨!