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;
        
}