Javascript format方法
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<script type="text/javascript">
/*
1."{v1}你好,我是{v2},我今年{v3}岁了"; {v1:Cupid,v2:Tina,v3:18};
2.'{0}你好,我是{1},我今年{2}岁了';['Cupid', 'Tina', 18];
3.'{0}你好,我是{1},我今年{2}岁了';'Cupid', 'Tina', 18;
*/
String.prototype.format = function (obj) {
var that = this;
if (typeof obj == "object") {
for (var attr in obj) {
that = that.replace("{" + attr + "}", obj[attr]);
}
} else {
//var a = arguments;
//alert(a instanceof Array)==》false
//把参数放到数组里面 slice() 方法可从已有的数组中返回选定的元素。
var arr = [].slice.call(arguments, 1);
//调用自己
return format(str, arr);
} return that;
}
function format(str, obj) {
if (typeof obj == "object") {
for (var attr in obj) {
str = str.replace("{" + attr + "}", obj[attr]);
}
} else {
//var a = arguments;
//alert(a instanceof Array)==》false
//把参数放到数组里面 slice() 方法可从已有的数组中返回选定的元素。
var arr = [].slice.call(arguments, 1);
//调用自己
format(str, arr);
} return str;
}
var str = '{v1}你好,我是{v2},我今年{v3}岁了'; var obj = { v1: 'Cupid', v2: 'Tina', v3: 18 };
console.log(format(str, obj));// Cupid你好,我是Tina,我今年18岁了;
var ss = str.format(obj);
console.log(ss);/// Cupid你好,我是Tina,我今年18岁了; var str1 = '{0}你好,我是{1},我今年{2}岁了';
var obj1 = ['Cupid', 'Tina', 18];
console.log(format(str1, obj1));
var ss1 = str1.format(obj1);
console.log(ss1); var str2 = '{0}你好,我是{1},我今年{2}岁了';
var obj2 = "";
/*
对象:{ v1: 'Cupid', v2: 'Tina', v3: 18 }
Json:{ "v1": "Cupid", "v2": "Tina", "v3": "18" }
注意:对象和JSON的区别
*/
</script>
</body>
</html>
Javascript format方法的更多相关文章
- JavaScript - reduce方法,reduceRight方法 (Array)
JavaScript - reduce方法 (Array) 解释:reduce() 方法接收一个函数作为累加器(accumulator),数组 中的每个值(从左到右)开始合并,最终为一个值. 语法:a ...
- JavaScript slice() 方法
JavaScript slice() 方法 JavaScript Array 对象 实例 在数组中读取元素: var fruits = ["Banana", "Oran ...
- JavaScript toLocaleString() 方法
JavaScript toLocaleString() 方法 JavaScript Array 对象 定义和用法 把数组转换为本地字符串. 语法 arrayObject.toLocaleString( ...
- 关于JavaScript lastIndexOf() 方法 w3school.com.cn写的不一定全对
关于JavaScript lastIndexOf() 方法 w3school.com.cn的表述是 定义和用法 lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的 ...
- VFP自定义函数StringFormat (仿.NET String.Format 方法)
VFP仿.NET String.Format 方法 将指定字符串中的每个{x}替换为相应值,并返回文本 *-- 调用格式 StringFormat("日期{2},字符{1}",&q ...
- javascript一些方法兼容
javascript一些方法兼容 标签(空格分隔): javascript 方法收集 [TOC] Object.keys 参考地址 if (!Object.keys) Object.keys = fu ...
- php示例代码之类似于C#中的String.Format方法
php示例代码之类似于C#中的String.Format方法 原文来自于 http://stackoverflow.com/questions/1241177/c-string-format-equ ...
- 在Swift中使用JavaScript的方法和技巧
本文作者Nate Cook是一位独立的Web及移动应用开发者,是继Mattt大神之后NSHipster的主要维护者,也是非常知名活跃的Swift博主,并且还是支持自动生成Swift在线文档的Swift ...
- Java中利用MessageFormat对象实现类似C# string.Format方法格式化
我们在写C#代码的时候常常会使用到string.Format("待格式化字符串{0},{1},....",参数1,参数2,...),来格式化字符串,特别是拼接字符的时候,这种方式使 ...
随机推荐
- c++编程规范的纲要和记录
这是一本好书, 可以让你认清自己对C++的掌握程度.看完之后,给自己打分,我对C++了解多少? 答案是不足20分.对于我自己是理所当然的问题, 就不提了, 记一些有启发的条目和细节: (*号表示不能完 ...
- hdu 1305 Immediate Decodability
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1305 字典树裸题,如下: #include<algorithm> #include< ...
- [转]每天一个linux命令目录
[转]每天一个linux命令目录 http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每 ...
- 一次我们网站的web性能优化
1.Google的Web优化最佳实践 利用PageSpeed工具 对我们红酒世界网进行检测时,发现了下面的几个问题 1.Leverage browser caching 1.1.通过web.confi ...
- Factorial Trailing Zeroes
Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in log ...
- ios-UIWebView中js和oc代码的互调
webview是ios中显示远程数据的网页控件,webview能显示的内容很多,MP4.文本.pdf等等: 关于js和oc代码的互相调用 1:oc中调用js代码; >>oc中调用js代码很 ...
- ASP .NET下的301重定向如何做
using System; using System.Collections.Generic; using System.Text; using System.Web.UI; using System ...
- IOC框架的认识
转:http://blog.csdn.net/wanghao72214/article/details/3969594 1 IoC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实 ...
- Learning Java language Fundamentals
Chapter 2 Learning Java language fundamentals exercises: 1.What is Unicode? Unicode is a computing ...
- JavaScript原型与原型链学习笔记
一.什么是原型?原型是一个对象,其他对象可以通过它实现属性继承.简单的说就是任何一个对象都可以成为原型 prototype属性: 我们创建的每个函数都有一个prototype属性,这个属性是一个指针, ...