Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我转到了javascript学习课程,下面的代码没有';好像不行_Javascript_Class - Fatal编程技术网

我转到了javascript学习课程,下面的代码没有';好像不行

我转到了javascript学习课程,下面的代码没有';好像不行,javascript,class,Javascript,Class,我从函数转移到javascript类。我试过的第一个例子,似乎不起作用,我也不知道为什么?在这里,每当我单击“单击”按钮时,我都希望输出为字符串形式的num1+num2 类和{ 建造商(num1,num2){ this.num1=num1; this.num2=num2; } 添加(){ this.result=“num1+num2”; } displayResult(){ document.getElementById(“demo”).innerText=this.result; } } 常

我从函数转移到javascript类。我试过的第一个例子,似乎不起作用,我也不知道为什么?在这里,每当我单击“单击”按钮时,我都希望输出为字符串形式的num1+num2

类和{
建造商(num1,num2){
this.num1=num1;
this.num2=num2;
}
添加(){
this.result=“num1+num2”;
}
displayResult(){
document.getElementById(“demo”).innerText=this.result;
}
}
常数s=新的总和(“a”、“b”);
document.getElementById(“按钮”).addEventListener(“单击”,()=>{
s、 添加();
s、 displayResult();
});
点击

您不需要在add函数中添加引号,因此缺少引号<代码>此
在nums之前

this.result=this.num1+this.num2
但是,当您将字符串传递给构造函数时,它只会连接这些值,因此输出为“ab”

如果这些应该是变量,那么应该是:

var a=5;
var b=7;
常数s=新的和(a,b);

添加函数中不需要引号,因此缺少引号<代码>此在nums之前

this.result=this.num1+this.num2
但是,当您将字符串传递给构造函数时,它只会连接这些值,因此输出为“ab”

如果这些应该是变量,那么应该是:

var a=5;
var b=7;
常数s=新的和(a,b);

所以这里出了几个问题:

  • 不要使用文本字符串“this.num1+this.num2”,而是使用表达式,将变量相加
    this.num1+this.num2
  • 您在屏幕上未显示的元素上使用了事件侦听器,因此如何单击它?您可能打算使用id
    按钮上的
    单击
    事件,而不是
    演示
  • 根据经验,我认为将UI逻辑与类逻辑结合起来是不好的。为了将来使用,通常最好将它们分开
  • 祝你好运

    类和{
    建造商(num1,num2){
    this.num1=num1;
    this.num2=num2;
    }
    添加(){
    this.result=this.num1+this.num2;
    }
    }
    常数s=新的和(6,7);
    document.getElementById(“按钮”).addEventListener(“单击”,()=>{
    s、 添加();
    显示结果(s.result);
    });
    函数displayResult(结果){
    document.getElementById(“demo”).innerText=结果;
    }
    点击
    

    所以这里出现了一些问题:

  • 不要使用文本字符串“this.num1+this.num2”,而是使用表达式,将变量相加
    this.num1+this.num2
  • 您在屏幕上未显示的元素上使用了事件侦听器,因此如何单击它?您可能打算使用id
    按钮上的
    单击
    事件,而不是
    演示
  • 根据经验,我认为将UI逻辑与类逻辑结合起来是不好的。为了将来使用,通常最好将它们分开
  • 祝你好运

    类和{
    建造商(num1,num2){
    this.num1=num1;
    this.num2=num2;
    }
    添加(){
    this.result=this.num1+this.num2;
    }
    }
    常数s=新的和(6,7);
    document.getElementById(“按钮”).addEventListener(“单击”,()=>{
    s、 添加();
    显示结果(s.result);
    });
    函数displayResult(结果){
    document.getElementById(“demo”).innerText=结果;
    }
    点击
    

    这里是您的代码:

    类和{
    建造商(num1,num2){
    this.num1=num1;
    this.num2=num2;
    }
    添加(){
    this.result=this.num1+this.num2;
    }
    displayResult(){
    document.getElementById(“demo”).innerText=this.result;
    }
    }
    常数s=新的总和(“a”、“b”);
    document.getElementById(“按钮”).addEventListener(“单击”,()=>{
    s、 添加();
    s、 displayResult();
    });
    
    点击
    

    这里是您的代码:

    类和{
    建造商(num1,num2){
    this.num1=num1;
    this.num2=num2;
    }
    添加(){
    this.result=this.num1+this.num2;
    }
    displayResult(){
    document.getElementById(“demo”).innerText=this.result;
    }
    }
    常数s=新的总和(“a”、“b”);
    document.getElementById(“按钮”).addEventListener(“单击”,()=>{
    s、 添加();
    s、 displayResult();
    });
    
    点击
    

    “num1+num2”
    是一个文本字符串
    this.num1+this.num2是一个表达式。解释“工作”的含义很重要。你以为会发生什么?发生了什么事?在您的示例中,变量是未定义的,代码运行的原因不是您询问的原因,因此您向实际提供帮助的人设置了一些障碍——但是的,问题可能是您在编写JS表达式时使用了字符串(可能还有其他原因——谁知道呢?)。请参阅。
    this.result=“num1+num2”
    指定文本字符串
    “num1+num2”
    ,我相信您已经观察到了这一点。如果要实际添加两个数值,则需要不带引号的。(这仍然不起作用,但我会让你自己去弄清楚。)那么输出不应该是num1+num2吗。仍然不工作检查其他注释。另外,您还将click listener添加到了一个空的
    p
    标记中-您单击按钮是否希望它工作?
    “num1+num2”
    是一个文本字符串
    this.num1+this.num2是一个表达式。解释“工作”的含义很重要。你以为会发生什么?发生了什么事?在您的示例中,变量是未定义的,代码运行的原因不是您询问的原因,因此您向实际需要的人设置了一些障碍