標籤:
<!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方法