String.format in JavaScript
2015-03-29 16:29
253 查看
突然发现做菜鸟也有别样的乐趣,虽然总是心里发虚,但是有很多从未触及的空间,很容易就能找到可以学习和前进的部分,在一个新领域从零开始不断充实自己其实真是个很愉快的过程。周日的下午,一边喝点热茶一边码点代码,伴着《晚风》,惬意得很。
这里就应该用静态方法,可以不经实例化直接调用。
2.Array的shift()方法
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
所以,
这两行可以合写成一行:
3.
/{(\d+)}/g:
* 起始/与结尾/之间:正则表达式内容
* g:全局匹配
* \{:匹配{,\是转义符
* \}:匹配},\是转义符
* (\d+):子表达式,匹配至少一个数字
* function(m,n){}:m值对应匹配到的字符,如“{0}”,n值对应子表达式匹配的字符,如“0”,用这个n值作为数值key,取param里的attribute
以上废话
问题
在做javascript的入门练习,有一个要求是以形如“今天是某年某月某日 星期几”的格式显示当前日期,我想当然地搬用了c#里常用的String.format函数,也很顺理成章地在firebug里收到了错误提示“TypeError: String.format is not a function”,后来去网上一查,原来javascript并没有原生的字符串format方法,需要自行构建。解决
在网上找了一段现成的代码(代码转自:http://icodon.com/string-format-by-javascript.html),经测试可用:String.format = function () { var param = []; for (var i = 0, l = arguments.length; i < l; i++) { param.push(arguments[i]); } var statment = param[0]; // get the first element(the original statement) param.shift(); // remove the first element from array return statment.replace(/\{(\d+)\}/g, function(m, n) { return param ; }); }
说明
1.为什么用String.format而不是String.prototype.format?这里就应该用静态方法,可以不经实例化直接调用。
2.Array的shift()方法
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
所以,
var statment = param[0]; param.shift();
这两行可以合写成一行:
var statment = param.shift();
3.
statment.replace(/\{(\d+)\}/g, function(m, n) { return param ; });
/{(\d+)}/g:
* 起始/与结尾/之间:正则表达式内容
* g:全局匹配
* \{:匹配{,\是转义符
* \}:匹配},\是转义符
* (\d+):子表达式,匹配至少一个数字
* function(m,n){}:m值对应匹配到的字符,如“{0}”,n值对应子表达式匹配的字符,如“0”,用这个n值作为数值key,取param里的attribute
使用
var str = String.format("今天是{0}年{1}月{2}日", year, month, date);
相关文章推荐
- String.format in JavaScript
- String.Format in javascript
- [JavaScript] Imitate String.Format() in c#
- String.Format in JavaScript
- String.Format in javascript
- ASP與JavaScript的 String.Format 方法
- The format for JavaScript doc comments in Visual Studio 2008
- javascript实现类似C# String的format方法
- 字符“23.00”转成int型!Input string was not in a correct format.
- javascript String.format
- Do You Really Know about string.replace() in JavaScript?
- String.ReplaceAll function in JavaScript
- javascript中的string.format
- QueryString in Javascript
- QueryStringinJavascript
- NSDate format string in objective-c
- Just another high performance string format function for JavaScript
- 给 Javascript 的 string 对象扩展一个 format 方法
- String.Format in Java and C#
- hyperLinkField中的DataNavigateUrlFormatString属性不正执行javascript的解决办法