天天看点

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

<code>1、JS格式化功能</code>

<code>&lt;script&gt;</code>

<code>        </code><code>/*</code>

<code>        </code><code>1. 调用对象方法时,通过调用类的prototype中的方法,可以扩展</code>

<code>        </code><code>2. 正则表达式 /\w+/g</code>

<code>        </code><code>3. 字符串replace</code>

<code>                </code><code>''.replace('alex','sb');</code>

<code>                </code><code>''.replace(/\w+/,'sb');</code>

<code>                </code><code>''.replace(/\w+/g,'sb');</code>

<code>                </code><code>''.replace(/(\w+)/g,function(k,kk){return 11;});</code>

<code>        </code><code>*/</code>

<code>        </code><code>String.prototype.Format = </code><code>function</code><code>(arg){</code>

<code>            </code><code>/*</code>

<code>            </code><code>this,当前字符串  "i am {name1}, age is {age9}"</code>

<code>             </code><code>arg,Format方法传入的参数 {name:'alex',age:18}</code>

<code>             </code><code>return,格式化之后获取的新内容 i am alex, age is 18</code>

<code>            </code><code>*/</code>

<code>            </code><code>var</code> <code>temp = </code><code>this</code><code>.replace(/\{(\w+)\}/g,</code><code>function</code><code>(k,kk){</code>

<code>                </code><code>return</code> <code>arg[kk];</code>

<code>            </code><code>});</code>

<code>            </code><code>return</code> <code>temp;</code>

<code>        </code><code>};</code>

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

<code>function</code> <code>commentTree(commentList){</code>

<code>            </code><code>var</code> <code>comment_str = </code><code>"&lt;div class='comment'&gt;"</code><code>;</code>

<code>            </code><code>$.each(commentList,</code><code>function</code><code>(k,row){</code>

<code>                </code><code>// var temp = "&lt;div class='content'&gt;"+ row.content +"&lt;/div&gt;";</code>

<code>                </code><code>var</code> <code>temp = </code><code>"&lt;div class='content'&gt;{content}&lt;/div&gt;"</code><code>.Format({content:row.content});</code>

<code>                </code><code>comment_str += temp;</code>

<code>                </code><code>if</code><code>(row.child.length&gt;0){</code>

<code>                    </code><code>comment_str += commentTree(row.child);</code>

<code>                </code><code>}</code>

<code>            </code><code>comment_str += </code><code>'&lt;/div&gt;'</code><code>;</code>

<code>            </code><code>return</code> <code>comment_str;</code>

<code>        </code><code>}</code>

本文转自 AltBoy 51CTO博客,原文链接:http://blog.51cto.com/altboy/1949498

继续阅读