基于prototype的JavaScript计算圆柱体体积

基于prototype的JavaScript计算圆柱体体积,javascript,object,prototype-programming,Javascript,Object,Prototype Programming,我是一个javascript新手,所以不要对我太苛刻 我需要使用构造函数和原型计算圆柱体的体积 我有一个有两个输入的表格,我将从中获取数值,然后进行计算。我必须在单击按钮时创建一个新实例,并且必须在结果输入中输出计算结果 我似乎被卡在部件上,无法从输入中获取值,因为我的控制台在单击按钮时总是说“hoogte”和“diameter”未定义 我已经看了差不多24小时了,但是我没有任何进展 这是我的代码: <form action=""> <label>

我是一个javascript新手,所以不要对我太苛刻

我需要使用构造函数和原型计算圆柱体的体积

我有一个有两个输入的表格,我将从中获取数值,然后进行计算。我必须在单击按钮时创建一个新实例,并且必须在结果输入中输出计算结果

我似乎被卡在部件上,无法从输入中获取值,因为我的控制台在单击按钮时总是说“hoogte”和“diameter”未定义

我已经看了差不多24小时了,但是我没有任何进展

这是我的代码:

<form action="">
    <label>
        Diameter: <input type="text" id="diameter"><br><br>
        Hoogte: <input type="text" id="hoogte"> <br><br>
        <input type="button" value="bereken" id="berekenBtn"><br><br>
        <input type="text" id="uitkomst">
    </label>
</form>

直径:

胡特:



-


addEventListener(“DOMContentLoaded”,函数(){
document.getElementById(“berekenBtn”).addEventListener(“单击”,bereken);
});
功能气缸(hoogte,直径){
this.hoogte=hoogte;
这个直径=直径;
}
Cylinder.prototype.volume=函数(){
var radius=document.getElementById('diameter')=this.diameter/2;
var hoogte=document.getElementById('hoogte')=this.hoogte;
var berekening=Math.PI*半径*半径*hoogte;
//berekening.toFixed(4);
}
函数bereken(){
var myCylinder=新圆柱体(
document.getElementById(“uitkomst”).value=Cylinder()
)
控制台日志(myCylinder);
}

直径:

胡特:



addEventListener(“DOMContentLoaded”,函数(){ document.getElementById(“berekenBtn”).addEventListener(“单击”,bereken); }); 功能气缸(hoogte,直径){ this.hoogte=hoogte; 这个直径=直径; } Cylinder.prototype.volume=函数(){ var半径=该直径/2; var hoogte=this.hoogte; var berekening=Math.PI*半径*半径*hoogte; 返回berekening; } 函数bereken(){ var diameter=document.getElementById(“diameter”).value; var hoogte=document.getElementById(“hoogte”).value; var myCylinder=新气缸(直径,hoogte); var结果=myCylinder.volume(); document.getElementById(“uitkomst”).value=结果; }

我修改了一些代码,试着理解一下,希望对你有帮助

document.getElementById(“uitkomst”).value=Cylinder()
您认为这行完成了什么?这毫无意义。当像函数一样调用时,构造函数甚至不会返回结果。而且,在代码中永远不会调用方法
myCylinder.volume()
,以实际计算体积。这就是应该对
#uitkomst.value
产生影响的内容。圆柱体需要两个参数,然后传递一个参数。然后你再次随机调用圆柱体…非常感谢,这确实很有帮助,我知道需要做什么,但语法对metrust我来说是一个杀手它需要时间和很多耐心,但一旦你做到了,它就会变得太简单。祝你一切顺利:)
<script>
    window.addEventListener("DOMContentLoaded", function () {
        document.getElementById("berekenBtn").addEventListener("click", bereken);
    });

    function Cylinder(hoogte, diameter) {
        this.hoogte = hoogte;
        this.diameter = diameter;
    }

    Cylinder.prototype.volume = function () {
        var radius = document.getElementById('diameter') = this.diameter / 2;
        var hoogte = document.getElementById('hoogte') = this.hoogte;

        var berekening = Math.PI * radius * radius * hoogte;
        //berekening.toFixed(4);
    }


    function bereken() {
        var myCylinder = new Cylinder(
            document.getElementById("uitkomst").value = Cylinder()
        )
        console.log(myCylinder);
    }
</script>
 <form action="">
        <label>
            Diameter: <input type="number" id="diameter"><br><br>
            Hoogte: <input type="number" id="hoogte"> <br><br>
            <input type="button" value="bereken" id="berekenBtn"><br><br>
            <input type="text" id="uitkomst">
        </label>
    </form>


<script>
         window.addEventListener("DOMContentLoaded", function () {
        document.getElementById("berekenBtn").addEventListener("click", bereken);
    });

    function Cylinder(hoogte, diameter) {
        this.hoogte = hoogte;
        this.diameter = diameter;
    }

    Cylinder.prototype.volume = function () {
        var radius =  this.diameter / 2;
        var hoogte = this.hoogte;

        var berekening = Math.PI * radius * radius * hoogte;
        return berekening;
    }


    function bereken() {
        var diameter = document.getElementById("diameter").value;
        var hoogte = document.getElementById("hoogte").value;
        var myCylinder = new Cylinder(diameter, hoogte);
        var result = myCylinder.volume();
        document.getElementById("uitkomst").value = result;
    }

    </script>