Discuss / JavaScript / 习题作业(代码码到一半不小心按了个退格,浏览器后退了……哭死)

习题作业(代码码到一半不小心按了个退格,浏览器后退了……哭死)

Topic source
  • 习题1:
'use strict';

//习题1:
//接收任意个参数并返回它们的和

//实际编写部分:
function sum(...rest) {
    let result = 0;
    for (let i = rest.length; i > 0; i--) {
        result += rest.pop();
    }
    return result;
}

// 测试:
var i, args = [];
for (i=1; i<=100; i++) {
    args.push(i);
}
if (sum() !== 0) {
    alert('测试失败: sum() = ' + sum());
} else if (sum(1) !== 1) {
    alert('测试失败: sum(1) = ' + sum(1));
} else if (sum(2, 3) !== 5) {
    alert('测试失败: sum(2, 3) = ' + sum(2, 3));
} else if (sum.apply(null, args) !== 5050) {
    alert('测试失败: sum(1, 2, 3, ..., 100) = ' + sum.apply(null, args));
} else {
    alert('测试通过!');
}

  • 习题2:
'use strict';

function area_of_circle(r, pi) {

//习题2:
//计算圆面积

//实际编写部分:
  let S = 0;
  if (arguments.length > 2 || arguments.length < 1) {
    throw 'Arguments Error!';
  } else if (typeof r !== 'number') {
    throw 'Radius Not A Number!';
  } else {
    if (arguments.length === 2) {
      if (typeof pi !== 'number') {
        throw 'Radius Not A Number!';
      } else {
        S = pi * r * r;
      }
    } else {
      S = 3.14 * r * r;
    }
  }
  return S;

}
// 测试:
if (area_of_circle(2) === 12.56 && area_of_circle(2, 3.1416) === 12.5664) {
    alert('测试通过');
} else {
    alert('测试失败');
}

  • 习题3:
'use strict';

function max(a, b) {

//习题3:
//指出问题并修复
    if (a > b) {
        return a;//改动1
                //a;
    } else {
        return b;//改动2
                //b;
    }

}
alert(max(15, 20));

  • 1

Reply