'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('测试通过!'); }
'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('测试失败'); }
'use strict'; function max(a, b) { //习题3: //指出问题并修复 if (a > b) { return a;//改动1 //a; } else { return b;//改动2 //b; } } alert(max(15, 20));
Sign in to make a reply
银翼破碎战魂