我将如何更改Math.sin()以便用户输入Math.sin(angle,'char')
它将在程度上胜过犯罪而不是弧度。

到目前为止,我有

Math.sin= function()
{
    if(arguments.length>1)
    {
        return Math.sin(arguments[0]*(Math.PI/180));
    }
    else
    {
        return Math.sin(arguments[0]);
    }
};


但是现在我有无限递归,所以我认为我们需要参考。
我将如何继续完成?

最佳答案

如果要这样做,则需要保留对旧版本的引用,然后调用它:

var oldSin = Math.sin;

Math.sin= function()
{
    if(arguments.length>1)
    {
        return oldSin(arguments[0]*(Math.PI/180));
    }
    else
    {
        return oldSin(arguments[0]);
    }
};


http://jsfiddle.net/WQ9C9/

您当前的代码无限调用您的新Math.sin(如您所知)。

关于javascript - Javascript Math.sin添加额外的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18477929/

10-11 05:42