关于js 字符串逆转

有个同学问我一道题目

当时在车上,电脑没在旁边,看到这个问题我就想好了答案,递归和for循环实现早就在脑海里code好了,之后回到家写好代码

                //递归
        function fun1(str,i){ 
            i = i||0;
            var j = str.length - (i+1);
            if(j<=i){
                return true;
            }
            if(str[i] != str[j]){
                return false;
            }
            return arguments.callee(str,i+1);
        }
        
        
        //for
        function fun2(str){
            var len = str.length;
            for(var i=0;i<len;i++){
                var j = len - (i+1);
                if(j<=i){
                    return true;
                }
                if(str[i] != str[j]){
                    return false;
                }
            }
            
        }
            

之后又想了一下,应该js有提供更简便的方法

                function fun3(str){
            return str == str.split('').reverse().join('');     
        }

可以可以,这很奈斯,来调试一波,这三种方法都可以实现功能

               var s = 'djjd';
        
        for(var i = 0;i<3;i++){
            //循环调用
            console.log(window['fun'+(i+1)](s));  
        }

 

posted @ 2016-07-18 23:17  太极剑舞  阅读(549)  评论(0编辑  收藏  举报