Javascript 这是使用包含函数的对象的正确方法吗?

Javascript 这是使用包含函数的对象的正确方法吗?,javascript,function,object,instance,Javascript,Function,Object,Instance,这是创建对象并在其中放置函数的正确方法吗?我遇到的每个示例都使用易于理解的代码,并在实际情况中有效地使用这些代码。所以我试着通过这样做来解决这个问题 function calc() //creating an empty object named calc { } var calc = new calc(); //creating a new instance of the calc object calc.arithmetic = function maths (input) {

这是创建对象并在其中放置函数的正确方法吗?我遇到的每个示例都使用易于理解的代码,并在实际情况中有效地使用这些代码。所以我试着通过这样做来解决这个问题

function calc() //creating an empty object named calc
{
}

var calc = new calc(); //creating a new instance of the calc object

calc.arithmetic = function maths (input) 
{
    var str = input;
    var a=str.substr(1,1); 
    var b=str.substr(2,1);
    var c=str.substr(3,1);

    if(b == "+")
    {
        answerNumber = a + c;
    }
    else if(b == "-")
    {
        answerNumber = a + c;
    }
    else if(b == "*")
    {
        answerNumber = a * c;
    }
    else if(b == "/")
    {
        answerNumber = a / c;
    }
}
document.getElementById("input").value=answerNumber;




document.write(calc.arithmetic(input))  //calling the method in the context of the object.

您正在用一个新对象覆盖calc,该对象在这里仅包含MyAlgorithm


您应该执行
calc.my算术=函数(){}取而代之-这将添加一个新属性,将您的函数作为值,这可能是您想要的。

我将看看Douglas Crockford站点(http://www.crockford.com/javascript/private.html).

好的。我现在明白了。假设这个函数甚至可以工作,理论上这会从calc.算术中调用函数数学吗?好的,这似乎让我走上了正确的轨道。谢谢