js反转字符串三种解决方法

发布时间:2020-07-15编辑:脚本学堂
有关js 字符串反转的三种实现方法,实现js反转字符串效果的例子,需要的朋友做个参考。

例子,js反转字符串的三种解决方法。
 

复制代码 代码示例:
<!doctype html>
<html>
<head>
<title>js反转字符串 - www.jb200.com</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="zh-CN" />
</head>
<body>
<script type="text/javascript">
(function(){
  //一行代码得到d.c.b.a
  //解法一
  //思路,将参数按逗号解析开,然后使用逆序排序(a/b调转)【其实就是反转】,再拼接回去
  console.log(arguments[0].split(',').sort(function(a,b){return b-a;}).join(','));
  
  //解法二【较易理解】
  //思路,利用call来调用String.split分割参数,然后反转再拼接
  console.log(String.prototype.split.call(arguments[0], '').reverse().join(''));
  
  //解法三
  //思路,利用call使得"a,b,c,d"调用了Array.slice方法,默认参数为0,-1,分割成数组后再反转一下,重新拼接回来
  console.log(Array.prototype.slice.call(arguments[0]).reverse().join(''));
  
  //关于call
  /*
   * 来自:http://www.zhihu.com/question/20289071 @Fisch
   * 首先要知道call和apply是Function的方法,
   * 第一个参数是this,第二个是Function的参数。
   * 比如你的方法里写了this,普通调用这个方法这个this可能是window。
   * 而如果用了call,第一个参数写啥,其中this就是啥
   *
  */
  
  //推荐一个网址:https://developer.mozilla.org/zh-CN/docs/JavaScript
})("a,b,c,d");
</script>
</body>
</html>