字符串连接类(Javascript)
转载自: http://www.cnblogs.com/sohighthesky/archive/2011/03/28/string_buf.html
用字符串连接的类,把以前的方法写成了类的方式,方便调用 ,
支持实例调用 和静态调用
参数可以是单独的字符串,或者json的格式,或者类似参数数组的方式,见下面示例
/*
* @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("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)相关推荐
- 没有值的json字符串_Java中具有原始数据类型值的字符串连接
没有值的json字符串 Given a string and some of the primitive data type values, we have to concatenate them w ...
- C++之string类字符串连接
概括:对于string类变量,我们可以直接用"+"或者"+="进行字符串的连接.用"+"进行字符串连接时,操作符左右两边既可以都是strin ...
- ADO.NET—数据提供程序(连接类)
.NET Framework 数据提供程序是专门为数据处理以及快速地只进.只读访问数据而设计的组件. 一.Connection 1.介绍 开启程序和数据库之间的连结 ADO.NET底层 可自己产生对象 ...
- matlab字符衔接,matlab字符串连接(多个字符串)的经验,matlab字符串
matlab字符串连接(多个字符串)的经验,matlab字符串 参考 matlab中字符串连接的3种方法 文章,实验遇到的一些小白问题,如有问题希望大神们给予指导. Matlab中,两个或多个字符串 ...
- php连接电脑,PHP_深入理解php的MySQL连接类,无意间在电脑里发现还有这么 - phpStudy...
深入理解php的MySQL连接类 无意间在电脑里发现还有这么个Mysql的连接类,也不记得哪里收藏的了,贴上来吧. 后面几个show_databases和show_tables....等方法都用了一堆 ...
- .NET字符串操作类StringHelper (C#版)
using System; using System.Collections.Generic; using System.Linq; using System.Text; us ...
- Java学习笔记(六)--字符串String类
文章目录 字符串 一.String 类 1.1 声明字符串 1.2 创建字符串 二.连接字符串 2.1 连接多个字符串 2.2 连接其他数据类型 三.获取字符串信息 3.1 获取字符串长度 3.2 字 ...
- Effective Java之当心字符串连接的性能(五十一)
字符串连接问题: 在jdk1.7之后,字符串连接问题的得到了优化,比如: String s = "a"+"b"+"c": 会优化为Strin ...
- java8 多行字符串_Java8(2):Java8 对字符串连接的改进
我们提出一个需求:有一个 List,将其格式化为 元素1, 元素2, 元素3, ... 元素N 的字符串形式. 毋庸置疑,Java8 之前我们的第一反应是使用 StringBuilder: publi ...
- c++ 字符串连接_C语言字符串操作总结大全(超详细)
本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, ...
最新文章
- python判断sqlite连接状态_python3 自动识别usb连接状态,即对usb重连的判断方法
- 学习笔记68—PhotoShop常见快捷键
- CDMA的完整形式是什么?
- springboot启动太慢优化
- 聚类分析 - K-means - Python代码实现
- 这么多年被第三方接入坑的那些事。。。关于md5签名和sha1证书的坑
- [置顶] 程序员成长路上的团队修炼之道
- 不存在理想中的那种单元测试
- DevOps团队如何选择监控工具
- 2019dnf刷图脚本制作教程
- matlab函数coth,matlab函数
- 操作系统——文件存储管理
- 每日一练20210814
- 基于小波分析和机器学习的时间序列分析与识别
- SCDM 实例教程:基本几何建模
- OSPFB笔记-五个报文【超详细】[Hello报文,DD报文,LSR报文,LSU报文,LSAck报文]
- 用梯度下降法求根号2的值
- 不给代码写文档,让代码文档化
- SuperSlide-v2.1.1
- win10系统administrator账户密码忘记