不要使用
while
,使用 for
语句。请阅读此处的差异:for 语句 / while 语句。相应的函数将如下所示:
function multiplyAll_v1() {
let res = 1;
if ( arguments.length < 1 ) {
return 0;
}
for( let i = 0; i < arguments.length; i++ ) {
res *= arguments[i];
}
return res;
}
您当然也可以使用该函数的 restparameter 语法。相应的函数将如下所示:
function multiplyAll_v2( ...args ) {
let res = 1;
if ( args.length < 1 ) {
return 0;
}
for ( let arg of args ) {
res *= arg;
}
return res;
}
最后,这是一个包含两种变体的工作示例:
function multiplyAll_v1() {
let res = 1;
if ( arguments.length < 1 ) {
return 0;
}
for( let i = 0; i < arguments.length; i++ ) {
res *= arguments[i];
}
return res;
}
function multiplyAll_v2( ...args ) {
let res = 1;
if ( args.length < 1 ) {
return 0;
}
for ( let arg of args ) {
res *= arg;
}
return res;
}
console.log( multiplyAll_v1( 2, 3, 6 ), multiplyAll_v2( 2, 3, 6 ) );
document.getElementById( 'v1' ).innerHTML = "Result v1: " + multiplyAll_v1( 2, 3, 6 );
document.getElementById( 'v2' ).innerHTML = "Result v2: " + multiplyAll_v2( 2, 3, 6 );
INPUT: 2, 3, 6
<p id="v1"></p>
<p id="v2"></p>