<!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>