日期:2014-05-16 浏览次数:20363 次
var display = function (pattern, params) { var i = 0; while (params.length) { pattern = pattern.replace('{' + i + '}', params.shift()); i++; } return pattern.replace(/{\d+}/g, ''); }; var str = display("{0},{1},{3},{10}", [1, 2, 3, 5]); alert(str);
------解决方案--------------------
在js方法中参数名只是个代号,传入方法的诗歌arguments数组
判断参数个数 arguments.length
使用的话就是agguments[index]
------解决方案--------------------
循环数组进行操作不就行啦
------解决方案--------------------
读了下源文件,直接使用其内容方法,代码只有一行如下:
var display = function (pattern, params) { return String._toFormattedString(false, [pattern].concat(params)); }; var str = display("{0},{1},{3},{10}", [1, 2, 3, 5]); alert(str);
------解决方案--------------------
把params作为一个字串变量,多个参数在字串里用逗号或其它分隔符分隔,在函数里用SPLIT切分成数组即可,然后可以检测数组的长度,即 数组.length。
------解决方案--------------------
arguments.length获得实际传入的参数
arguments.callee.length获得本应传入的参数
对于实际传入的参数 可以用arguments[i]来获取