未定义的变量和连接。 JavaScript的

时间:2014-10-05 02:00:29

标签: javascript oop

我正在尝试使用JavaScript而不使用eval构建计算器。我试图连接一个变量来存储数字。这是正确的方法吗?此外,当我添加到变量时,它前面带有undefined。

var calculator = {
    run: function(clicked){
        num1: "";
        num2: "";
        numCheck: false;

        switch(clicked){
            case "1":
                document.getElementById("dis").innerHTML += clicked;
                if(this.numCheck===false){
                    if(this.num1==="undefined"){
                        this.num1 = " ";
                        this.num1 = this.num1+"1";
                    }else{
                        this.num1 = this.num1+"1";
                    }
                }else{
                    calculator.run.num2 += "1";
                };

我这样做是否正确?

1 个答案:

答案 0 :(得分:0)

一些评论:

声明错误this声明并且您在:类/函数内使用=代替run时声明的格式错误正确应该是:

var calculator = {
    run: function(clicked){
        this.num1= "";
        this.num2= "";
        this.numCheck= false;

案例缺失break{赞:

 switch(clicked){
            case "1":{
              //... your code.
              break; 
             }

在使用属于该类的属性时,在函数内部应使用this而不是使用var calculator来访问这些属性:

calculator.run.num2 += "1"; 

正确应该是

this.run.num2 += "1";

这可以转换为单一的:

this.num1 = " ";
this.num1 = this.num1+"1";

像:

this.num1 = " 1";