BackBone 学习笔记 06 库函数Utility类

来源:互联网 发布:js特效很好看的网站 编辑:程序博客网 时间:2024/05/17 07:37

    今天讲讲最后一个Utility。

    该类中的函数有:random(),escape(),unescape(),chain()和template()这几个函数。

    一:random()

    一看就知道它是用来产生随机数的。

    其原型为:_.random(min,max);
    其中min参数可以省略,若省略其值为0

    具体代码如下:

var random1=_.random(10);var random2=_.random(10,20);console.log(random1);console.log(random2);

    结构产生2个0~10,10~20的随机数。

    二:eascape()和unescape()

    escape()和unescape()是一对编码和解码的函数。
    使用escape()函数进行编码时,被编码的字符串的字符,有的被替换成十六进制的转义序列,
    有的则被替换成一些常用的HTML代码。

    代码如下:

var stresc=_.escape("<1727420286>@/'qq'.com_!~.*-");console.log(stresc);var strunesc=_.unescape(stresc);console.log(strunesc);

    结果是:"&lt;1727420286&gt;@/&#x27;qq&#x27;.com_!~.*-"

    和<1727420286>@/'qq'.com_!~.*-

    escape()不会对ASCII字母和数字以及_!~.*-等特殊字符进行编码。

    三:chain()

    调用该函数后,可以在代码中采用链式写法,逐层获取返回值。
    其原型为:chain(obj)。
    obj可以使一个数组,集合,对象。

    代码如下:

var data=[1,2,3,4,5,6];var chain=_.chain(data) .filter(function(num){return num%2==0}) .without(data,4) .last() .value();console.log(chain);

    这个函数很简单,就不多说了。结果是:6

    4:template()

    这个轻量级的函数可以帮助开发人员有效的组织页面的结构和底层的逻辑。
    模板标签:
    <% %>:包含可以执行任意的JS代码,其功能就是用来执行代码的。
    <%=%>:可以直接显示变量或函数的结果,其功能是输出数据,而并非执行。
    <%-%>:与<%=%>的功能一样,但在显示的同时,可以将结果中的HTML代码转成字符形式,
    以免代码受到攻击,其转换标准与escape()相同。
    其原型:template(tplString,[data],[Settings])
    其中tplString是模板标签,其多与<script type="text/template">联用。
    data是用于渲染的数据。
    Settings是自定义模板标签的字符格式,比如将<% %>改成{% %}
    以避免和其他冲突(比如jsp中的<% %>)

    Setting:

_.templateSettings = {      evaluate: /{([\s\S]+?)}/g,      interpolate: /{=([\s\S]+?)}/g,      escape: /{-([\s\S]+?)}/g      }

    其多于<scrpit type="text/template"></script>联用。

    至于具体用法,大家百度吧,这个有点还是网上的例子好理解点。

    大家先对它有个印象就行啦。

    那么Underscore的基础知识到这里就基本完了。

    接下来将会讲Backbone的实际能用到的地方。

    那么,下次再见。

0 0
原创粉丝点击