字符串格式化(五)

格式化字符串(五)

直接使用字符串“.”方法的方式格式化字符串。

将对象和字符串做关系映射并进行运算。


String.compile({JSON},|Boolean|?)

  1. 入门用法。

    例如:

     var string = "{name}是一个实用的{type},包含很多有趣的功能。".map({ name: "v2", type: "前端轻量级框架" });
     console.log(string); // => v2是一个实用的前端轻量级框架,包含很多有趣的功能。

    说明:
    用法{Naming}1的方式嵌入字符串中。

  2. 初级用法。

    例如:

     var string = "{name.v2}是一个实用的{type.slice(2)},包含很多有趣的功能。".compile({ name: { v2: "v2", vue: "vue" }, type: "前端轻量级框架" });
     console.log(string); // => v2是一个实用的轻量级框架,包含很多有趣的功能。

    说明:
    用法{Naming.[Naming|Function]}2的方式嵌入字符串中。

  3. 中级用法。

    例如:

     var string = "{name.v2 + \"和\" + name.vue}都是实用的{type.slice(2)},包含很多有趣的功能。".compile({ name: { v2: "v2", vue: "vue" }, type: "前端轻量级框架" });
     console.log(string); // => v2和vue都是实用的轻量级框架,包含很多有趣的功能。

    说明:
    用法{Naming.[Naming|Function] [*^<%>+/-] + Naming.[Naming|Function]}3的方式嵌入字符串中。

  4. 高级用法。

    扫描二维码关注公众号,回复: 5067318 查看本文章

    例如:

     var string = "{name.v2 + \"和\" + name.vue}都是{level?.very}实用的{type.slice(2)},包含很多有趣的功能。".compile({ name: { v2: "v2", vue: "vue" }, level: { very: "【非常】" }, type: "前端轻量级框架" });
     console.log(string); // => v2和vue都是【非常】实用的轻量级框架,包含很多有趣的功能。
    
     var string = "{name.v2 + \"和\" + name.vue}都是{level?.very}实用的{type.slice(2)},包含很多有趣的功能。".compile({ name: { v2: "v2", vue: "vue" }, type: "前端轻量级框架" });
     console.log(string); // => v2和vue都是实用的轻量级框架,包含很多有趣的功能。

    说明:
    用法{Naming?.[Naming|Function]}4的方式嵌入字符串中。

  5. 进价级用法。

    例如:

     var string = "{.?.name}是一个优秀的前端框架?".compile(null);
     console.log(string); // => 是一个优秀的前端框架?

    说明:
    用法{.?.Naming]}5的方式嵌入字符串中。
    均可与以上四种方式排列组合执行。

参考代码:Github


  1. {Naming}代表JSON的属性名称,替换的时候将会把JSON属性名称对应的值替换到字符串中。

  2. {Naming.[Naming|Function]} 代表可以获取JSON的属性值的属性值,以及调用属性值的方法(可以有多层,如:{a.b.c().d.e()})。

  3. {Naming.[Naming|Function] [*^<%>+/-] Naming.[Naming|Function]} 代表多个值之间可以进行加、减、乘、除等运算(可以有多层,如:{a + b - c ^ d / e})。

  4. {Naming?.[Naming|Function]} 可以加入探测符,在该值空(null)的时候,终止运算,用于规避预料之内的异常(可以有多层,如:{a.b?.c()?.d.e()})。

  5. {.?.Naming]} 本体探测,即对JSON本身进行空值(null)探测。注:第一个字符为.代表JSON对象本身。

猜你喜欢

转载自www.cnblogs.com/vbing/p/10321024.html