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

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


上一篇:零基础如何用 15 行 Python 代码搞定网易云热门歌单?


下一篇:9.2.1、Libgdx的输入处理之轮询