关于函数参数的问题

艳沐石 2012-02-16 03:11:50
采用js实现国际化的时候,通常需要传递一些参数。

var pattern = "hello, {0}. welcome you come back!";
通过接口,String.format(pattern, "John");来显示
hello, John. welcome you come back!

如果我现在传递参数大于1个,在方法中继续添加参数就可以,即
var pattern = "{0}-{1}-{2}";
String.format(pattern, "p1", "p2", "p3");

现在的问题是,我想封装一个方法,让程序自己实现判断是一个参数还是多个参数。
function display(pattern, params){
// 这个时候,参数封装在params这个数组里
// 实现提示信息的国际化
}

谢谢啦~~~
...全文
162 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
把params作为一个字串变量,多个参数在字串里用逗号或其它分隔符分隔,在函数里用SPLIT切分成数组即可,然后可以检测数组的长度,即 数组.length。
艳沐石 2012-02-17
  • 打赏
  • 举报
回复
谢谢大家,现在这个东西已经基本实现了。
似梦飞花 2012-02-17
  • 打赏
  • 举报
回复
arguments.length获得实际传入的参数
arguments.callee.length获得本应传入的参数
对于实际传入的参数 可以用arguments[i]来获取
jusfr 2012-02-16
  • 打赏
  • 举报
回复
读了下源文件,直接使用其内容方法,代码只有一行如下:
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);
Acesidonu 2012-02-16
  • 打赏
  • 举报
回复
循环数组进行操作不就行啦
色拉油 2012-02-16
  • 打赏
  • 举报
回复
在js方法中参数名只是个代号,传入方法的诗歌arguments数组
判断参数个数 arguments.length
使用的话就是agguments[index]
jusfr 2012-02-16
  • 打赏
  • 举报
回复
String.format是微软的Javascript扩展,猜想你的目的是“使用参数数组而非由逗号分隔的参数列表实现String.format()方法”,不严谨地实现如下:
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);


回复了两次没有刷新
jusfr 2012-02-16
  • 打赏
  • 举报
回复
String.format是微软的Javascript扩展,猜想你的目的是“使用参数数组而非由逗号分隔的参数列表实现String.format()方法”,不严谨地实现如下:
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);

jusfr 2012-02-16
  • 打赏
  • 举报
回复
String.format是微软的Javascript扩展,猜想是想实现“传递参数数组而不是由一至多个参数+逗号形式的参数列表,完成String.format”功能,并不严谨地实现如下:
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);
内容概要:本文围绕“单相逆变器闭环逆变电路PWM模型仿真研究”展开,基于Simulink平台构建单相逆变器的闭环控制系统仿真模型,重点研究PWM调制技术在逆变电路中的应用与实现。文中详细阐述了系统架构设计、电压电流双闭环控制策略的实现原理、控制器参数设计及仿真建模全过程,并通过仿真结果验证了控制方案在动态响应、稳态精度与系统稳定性方面的有效性。同时,文档还涵盖多种电力电子系统典型应用场景,如多类型短路故障仿真(中性点不接地、经小电阻接地、经消弧线圈接地等)、软开关技术、微电网能量管理、MPPT控制等,体现出较强的技术综合性和工程实践价值。; 适合人群:电气工程、自动化、电力电子与新能源等相关专业的高校本科生、研究生、科研人员,以及从事电力系统仿真、逆变器设计与新能源并网技术研发的工程技术人员。; 使用场景及目标:①掌握基于Simulink的单相逆变器闭环控制系统建模与PWM仿真方法;②深入理解双闭环控制、SPWM/SVPWM调制、系统稳定性分析等核心技术原理;③为课程设计、毕业设计、科研项目或实际工程开发提供可复用的仿真模型与技术支持; 阅读建议:建议结合文中仿真模型动手实践,重点掌握PI控制器参数整定、PWM信号生成机制与仿真结果分析方法,同时可延伸学习文档中涉及的软开关、故障仿真、微电网控制等关联技术,以拓展系统级设计能力。

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧