1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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、利用以上格式化功能和递归实现评论树

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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;
         }