转载自: http://www.cnblogs.com/sohighthesky/archive/2011/03/28/string_buf.html

用字符串连接的类,把以前的方法写成了类的方式,方便调用 ,

支持实例调用 和静态调用

参数可以是单独的字符串,或者json的格式,或者类似参数数组的方式,见下面示例

/*

* @author: uedsky
 * @version: 1.0
 */

/**
 * @class String concat
 * @return {StrBuf/String}
 * @constructor
 */
var StrBuf = function(s) {
    this.data = [];
    if(s) {
        var args = arguments, buf;
        if(this instanceof StrBuf){
            this.push.apply(this, args);
        }else{// static invoke
            buf = new StrBuf();
            buf.push.apply(buf, args);
            return buf.toString();
        }
    }
};
StrBuf.prototype = {
    // add String to the instance
    push: function(s, j){
        var args = arguments;
        if(args.length < 2) {
            this.data.push(s || "");
        }else if(typeof j == 'object'){
            this.data.push(s.replace(/\$\{([\w.]+)}/g, function($, $1){
                return ($1 in j) ? j[$1] : $;
            }));
        }else {
            this.data.push(s.replace(/\{(\d+)}/g, function($, $1){
                return args[+$1 + 1];
            }));
        }
    },
    toString: function(){
        return this.data.join("");
    }
};

调用 示例如下:

var buf = new StrBuf("contructor str\n");

    buf.push("hello,");
    buf.push("Today is {0}, {1}", "Monday", "March 28th");

buf.push("${name} is a good ${category} company", {name: "Google", category: "Intenet"});
    document.write(buf);// auto call toString method
    console.log(buf);
    console.log(StrBuf("static {0} method", "invoke"));

转载于:https://www.cnblogs.com/colder/archive/2011/03/28/1997569.html

字符串连接类(Javascript)相关推荐

  1. 没有值的json字符串_Java中具有原始数据类型值的字符串连接

    没有值的json字符串 Given a string and some of the primitive data type values, we have to concatenate them w ...

  2. C++之string类字符串连接

    概括:对于string类变量,我们可以直接用"+"或者"+="进行字符串的连接.用"+"进行字符串连接时,操作符左右两边既可以都是strin ...

  3. ADO.NET—数据提供程序(连接类)

    .NET Framework 数据提供程序是专门为数据处理以及快速地只进.只读访问数据而设计的组件. 一.Connection 1.介绍 开启程序和数据库之间的连结 ADO.NET底层 可自己产生对象 ...

  4. matlab字符衔接,matlab字符串连接(多个字符串)的经验,matlab字符串

    matlab字符串连接(多个字符串)的经验,matlab字符串 参考 matlab中字符串连接的3种方法  文章,实验遇到的一些小白问题,如有问题希望大神们给予指导. Matlab中,两个或多个字符串 ...

  5. php连接电脑,PHP_深入理解php的MySQL连接类,无意间在电脑里发现还有这么 - phpStudy...

    深入理解php的MySQL连接类 无意间在电脑里发现还有这么个Mysql的连接类,也不记得哪里收藏的了,贴上来吧. 后面几个show_databases和show_tables....等方法都用了一堆 ...

  6. .NET字符串操作类StringHelper (C#版)

    using System;    using System.Collections.Generic;    using System.Linq;    using System.Text;    us ...

  7. Java学习笔记(六)--字符串String类

    文章目录 字符串 一.String 类 1.1 声明字符串 1.2 创建字符串 二.连接字符串 2.1 连接多个字符串 2.2 连接其他数据类型 三.获取字符串信息 3.1 获取字符串长度 3.2 字 ...

  8. Effective Java之当心字符串连接的性能(五十一)

    字符串连接问题: 在jdk1.7之后,字符串连接问题的得到了优化,比如: String s = "a"+"b"+"c": 会优化为Strin ...

  9. java8 多行字符串_Java8(2):Java8 对字符串连接的改进

    我们提出一个需求:有一个 List,将其格式化为 元素1, 元素2, 元素3, ... 元素N 的字符串形式. 毋庸置疑,Java8 之前我们的第一反应是使用 StringBuilder: publi ...

  10. c++ 字符串连接_C语言字符串操作总结大全(超详细)

    本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, ...

最新文章

  1. python判断sqlite连接状态_python3 自动识别usb连接状态,即对usb重连的判断方法
  2. 学习笔记68—PhotoShop常见快捷键
  3. CDMA的完整形式是什么?
  4. springboot启动太慢优化
  5. 聚类分析 - K-means - Python代码实现
  6. 这么多年被第三方接入坑的那些事。。。关于md5签名和sha1证书的坑
  7. [置顶] 程序员成长路上的团队修炼之道
  8. 不存在理想中的那种单元测试
  9. DevOps团队如何选择监控工具
  10. 2019dnf刷图脚本制作教程
  11. matlab函数coth,matlab函数
  12. 操作系统——文件存储管理
  13. 每日一练20210814
  14. 基于小波分析和机器学习的时间序列分析与识别
  15. SCDM 实例教程:基本几何建模
  16. OSPFB笔记-五个报文【超详细】[Hello报文,DD报文,LSR报文,LSU报文,LSAck报文]
  17. 用梯度下降法求根号2的值
  18. 不给代码写文档,让代码文档化
  19. SuperSlide-v2.1.1
  20. win10系统administrator账户密码忘记

热门文章

  1. pku1088----滑雪(记忆性搜索)
  2. PHP设计模式——适配器模式
  3. anywhere随启随用的静态文件服务器
  4. Java中Math对象的属性与方法
  5. NSMutableString基本概念
  6. jsp页面加载时自动执行action
  7. 在Migration中操作新添加的字段
  8. 云锵基金 2019 年 02 月简报
  9. 判断二进制半整数_牛客网
  10. 详解Oracle数据货场中三种优化:分区、维度和物化视图