手记

扩展JS格式化(Format)功能及评论树

         

1、JS格式化功能<script>        /*        1. 调用对象方法时,通过调用类的prototype中的方法,可以扩展        2. 正则表达式 /\w+/g        3. 字符串replace                ''.replace('alex','sb');                ''.replace(/\w+/,'sb');                ''.replace(/\w+/g,'sb');                ''.replace(/(\w+)/g,function(k,kk){return 11;});        */        String.prototype.Format = function(arg){            /*            this,当前字符串  "i am {name1}, age is {age9}"             arg,Format方法传入的参数 {name:'alex',age:18}             return,格式化之后获取的新内容 i am alex, age is 18            */            var temp = this.replace(/\{(\w+)\}/g,function(k,kk){                return arg[kk];            });            return temp;        };

2、利用以上格式化功能和递归实现评论树

function commentTree(commentList){            var comment_str = "<div class='comment'>";            $.each(commentList,function(k,row){                // var temp = "<div class='content'>"+ row.content +"</div>";                var temp = "<div class='content'>{content}</div>".Format({content:row.content});                comment_str += temp;                if(row.child.length>0){                    comment_str += commentTree(row.child);                }            });            comment_str += '</div>';            return comment_str;        }


0人推荐
随时随地看视频
慕课网APP