【发布时间】:2014-02-09 09:33:31
【问题描述】:
我已经阅读了关于该主题的两篇类似的帖子,并尝试了提供的解决方案,以在 JavaScript 函数中使用参数的默认值。
解决方案在缺少终端或结束参数时有效,但如果缺少中间参数之一,则代码似乎不起作用。
当我开始将我的财务函数库转换为 JavaScript 时,任何关于我在这方面做错的可能提示都会有很大帮助
var tadJS = {
tadAEY: function(r, c)
{
if (r==0.0)
return 0.0;
if (c==0.0)
return Math.exp(r) - 1;
else
return Math.pow(1.0+r*c, 1/c) - 1;
},
tadPVIF2: function(r, n, c, p, d)
{
var t=0.0;
c = (typeof c !== "undefined") ? c : 1;
p = (typeof p !== "undefined") ? p : 1;
d = (typeof d !== "undefined") ? d : 1;
t = (n-1)*p+d*p;
if (r==0.0)
return 1.0;
return Math.pow(1.0+this.tadAEY(r,c),-t);
}
};
下面对函数的调用返回最后三个参数缺失时的值
document.write( "PVIF(10%, 10, 1, 1, 1) = " + tadJS.tadPVIF2(0.10,10) );
当缺少第三个参数时,以下对 JavaScript 函数的调用不起作用
document.write( "PVIF(10%, 10, 1, 1/2, 1) = " + tadJS.tadPVIF2(0.10,10,,0.5) );
以下两个线程作为JavaScript函数默认参数的解决方案参考
Is there a better way to do optional function parameters in Javascript?
【问题讨论】:
标签: javascript function parameters arguments default