就是写一个函数 名字例如:sinClone
实现:sinClone()和sin输出的结果相同(注意:别傻了吧唧的里面调用个sin函数 然后笑着说 “我实现了”)
------解决方案--------------------
泰勒级数
function factorial(n) {
if (n <= 1) {
return 1;
}
return n * factorial(n - 1);
}
function countN(x, n) {
return Math.pow(-1, n) / factorial(2 * n + 1) * Math.pow(x, 2 * n + 1);
}
/**
* 正弦函数。
* 参数:
* x 单位:弧度(x <= pi/2)
* maxN 泰勒级数计算时n的最大值
*/
function sin(x, maxN) {
if (maxN == undefined) {
maxN = 8;
}
var sin = 0;
for (var n = 0; n <= maxN; n++) {
sin += countN(x, n);
}
return sin;
}
sin(0);
sin(Math.PI/6);
sin(Math.PI/4);
sin(Math.PI/3);
sin(Math.PI/2);
------解决方案--------------------