<!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方法的更多相关文章

  1. JavaScript - reduce方法,reduceRight方法 (Array)

    JavaScript - reduce方法 (Array) 解释:reduce() 方法接收一个函数作为累加器(accumulator),数组 中的每个值(从左到右)开始合并,最终为一个值. 语法:a ...

  2. JavaScript slice() 方法

    JavaScript slice() 方法  JavaScript Array 对象 实例 在数组中读取元素: var fruits = ["Banana", "Oran ...

  3. JavaScript toLocaleString() 方法

    JavaScript toLocaleString() 方法 JavaScript Array 对象 定义和用法 把数组转换为本地字符串. 语法 arrayObject.toLocaleString( ...

  4. 关于JavaScript lastIndexOf() 方法 w3school.com.cn写的不一定全对

    关于JavaScript lastIndexOf() 方法 w3school.com.cn的表述是 定义和用法 lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的 ...

  5. VFP自定义函数StringFormat (仿.NET String.Format 方法)

    VFP仿.NET String.Format 方法 将指定字符串中的每个{x}替换为相应值,并返回文本 *-- 调用格式 StringFormat("日期{2},字符{1}",&q ...

  6. javascript一些方法兼容

    javascript一些方法兼容 标签(空格分隔): javascript 方法收集 [TOC] Object.keys 参考地址 if (!Object.keys) Object.keys = fu ...

  7. php示例代码之类似于C#中的String.Format方法

    php示例代码之类似于C#中的String.Format方法 原文来自于  http://stackoverflow.com/questions/1241177/c-string-format-equ ...

  8. 在Swift中使用JavaScript的方法和技巧

    本文作者Nate Cook是一位独立的Web及移动应用开发者,是继Mattt大神之后NSHipster的主要维护者,也是非常知名活跃的Swift博主,并且还是支持自动生成Swift在线文档的Swift ...

  9. Java中利用MessageFormat对象实现类似C# string.Format方法格式化

    我们在写C#代码的时候常常会使用到string.Format("待格式化字符串{0},{1},....",参数1,参数2,...),来格式化字符串,特别是拼接字符的时候,这种方式使 ...

随机推荐

  1. 解压vmlinuz和解压initrd(initramfs)

    有时就算只得到一个Linux kernel的rpm包或者直接是编译后的vmlinuz和initrd的binary文件,也需要了解其中的一些细节,可能需要去查找这些binary有没有将我想要的patch ...

  2. 三星Galaxy Note 10.1 N8010 最后的救赎 Andorid 5.0.2 ROM

    上市日期为2012年的三星Galaxy Note N8010 10.1采用10.1英寸TFT屏幕,分辨率为1280×800,支持10点触控,支持S pen手写笔功能.,拥有一颗1.4GHz Exyno ...

  3. 关于ios极光推送server端注意的地方

    今天试用了极光推送API 用它是因为,大多数人说它的文档是最全的,但是用过之后,发现关于IOS的文档,还是很不够,导致走了一点弯路! 特别是服务端的代码:https://github.com/jpus ...

  4. 自定义debug信息

    #ifdef  DEBUG  #define debug(fmt,args...)  printk(fmt ,##args)  #define debugX(level,fmt,args...) if ...

  5. ios coreData使用

    ios中的coredata的使用(转) 分类: ios2013-07-15 18:12 27288人阅读 评论(1) 收藏 举报 Core Data数据持久化是对SQLite的一个升级,它是ios集成 ...

  6. Mono for Android (4)-- 图片转为二进制,二进制转回图片

    最近纠结蓝牙打印的问题,想着图片先转为二进制发给打印机,找了好多资料,终于成功了,贴出来共享一下 先是图片转换为二进制的: Bitmap bitmap = BitmapFactory.DecodeRe ...

  7. ubuntu 修改主机名

    sudo gedit /etc/hostname sudo gedit /etc/hosts

  8. 微软职位内部推荐-Software Engineer II-Web app

    微软近期Open的职位: The Office App Services team is working on the powerful Office Web Apps including Word ...

  9. 微软职位内部推荐-SDE II

    微软近期Open的职位: Senior Software Development Engineer Job Title: Senior Development Engineer Division: V ...

  10. hibernate.cfg.xml 配置(摘录)

    配置文件中映射元素详解 对象关系的映射是用一个XML文档来说明的.映射文档可以使用工具来生成,如XDoclet,Middlegen和AndroMDA等.下面从一个映射的例子开始讲解映射元素,映射文件的 ...