如果用户给出Math.sin(angle,'char'),我将如何更改Math.sin() 它会以度而不是弧度来承担罪。
到目前为止我已经
了Math.sin= function()
{
if(arguments.length>1)
{
return Math.sin(arguments[0]*(Math.PI/180));
}
else
{
return Math.sin(arguments[0]);
}
};
但现在我有无限递归,所以我假设我们需要一个引用。 我将如何完成这个?
答案 0 :(得分:1)
如果你想这样做,你需要保留对旧版本的引用并调用:
var oldSin = Math.sin;
Math.sin= function()
{
if(arguments.length>1)
{
return oldSin(arguments[0]*(Math.PI/180));
}
else
{
return oldSin(arguments[0]);
}
};
您当前的代码无限调用您的新Math.sin
(正如您所发现的那样)。
答案 1 :(得分:1)
为什么不:
Math.mySin = function()
{
if(arguments.length>1)
{
return Math.sin(arguments[0]*(Math.PI/180));
}
else
{
return Math.sin(arguments[0]);
}
};