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,...),来格式化字符串,特别是拼接字符的时候,这种方式使 ...
随机推荐
- 2天驾驭DIV+CSS (实战篇)(转)
这是去年看到的一片文章,感觉在我的学习中,有不少的影响.于是把它分享给想很快了解css的兄弟们.本文是实战篇. 基础篇[知识一] “DIV+CSS” 的叫法是不准确的[知识二] “DIV+CSS” ...
- Android的一些常用命令提示符(cmd)指令
在<Android基础之用Eclipse搭建Android开发环境和创建第一个Android项目>中我曾介绍过如何给Android SDK配置环境变量,现在它就有用武之地了,我们可以直接在 ...
- .NET Async/Await 最佳实践
.NET 异步编程Guildlines 名称 描述 例外 Avoid async void Prefer async Task methods over async void methods Even ...
- iOS学习之事件处理
一.事件的基本概念 1.事件概述 事件是当用户手指触击屏幕及在屏幕上移动时,系统不断发送给应用程序的对象. 系统将事件按照特定的路径传递给可以对其进行处理的对象. 在iOS汇总,一个UITo ...
- iOS-动态调整UITableViewCell的高度
OS-动态调整UITableViewCell的高度iOS开发文档, by 友盟翻译组 stefaliu. 大概你第一眼看来,动态调整高度是一件不容易的事情,而且打算解决它的第一个想法往往是不正确的.在 ...
- 4.FPGA芯片管脚解释
用户I/O:不用解释了. 配置管脚: MSEL[1:0] 用于选择配置模式,比如AS.PS等. DATA0 FPGA串行数据输入,连接到配置器件的串行数据输出管脚. DCLK FPGA串行时钟输出 ...
- homework-03 扑街。。
1.思路 我的思路是利用进程间通信间来实现题目要求. 第一次打开的程序与第二次打开的程序并不是同一个进程,故需要进程间通信来是传递信息. windows下进程间通信的方式有很多,如文件映射.共享内存. ...
- [shell练习]——awk练习题
1. sed和awk有什么区别? (1)awk:按列(域)操作:sed:按行操作(2)awk:文本处理语言,适合对文本进行抽取处理:sed:非交互式的编辑器,适合对文本进行编辑 2. awk要处理域的 ...
- Linux Shel高级技巧(目录)
Linux Shell高级技巧(一) http://www.cnblogs.com/stephen-liu74/archive/2011/12/22/2271167.html一.将输入信息转换为大写字 ...
- Android开发随笔4
昨天: 今天: 编写代码