0

上記のトピックについて掘り下げましたが、開始したときよりも混乱しています。

私が取り組んでいる単位変換器があります。

基本モデルとしては問題なく動作していますが、現在はよりモジュール化しようとしています。

多くの単位と多くの変換があります。

私の計画は、必要な変換の種類、温度、面積などを決定する関数を用意し、適切な関数を呼び出して数学を実行できるようにすることです。

私がJS犯している単純な間違いである可能性があるため、問題を解決していないのは非常に新しいですが、大きなエラーが発生する可能性も同じです。

問題は、オブジェクトを次の関数に渡してから使用していると思います。

私はコードを大いに試し、オンラインでさまざまな提案を試みましたが、まだ成功していません。

ここに私のコードがあります:

<script type="text/javascript">

    function Convert(from, to, units, res){

        this.from = from;
        this.to = to;
        this.units = units;
        this.res = res;
    }

    Convert.convertUnits = function(){

        var measurementType = $(".from option:selected").attr("class");
        var result = "invalid input";
        var input = parseInt(this.units.val());

            if(measurementType == "temp"){
                var test = new Convert($("#from"), $("#to"), $("#units"), $("#result"));
                test.convertTemp();
                console.log('Did we get this far?!?!    ::', measurementType);
            }
        console.log('or not????  ::', measurementType);
    }

    Convert.prototype.convertTemp = function(){

        var result = "invalid input";
        var input = parseInt(this.units.val());
        var f = this.from.val();
        var t = this.to.val()

        if(!isNaN(input)) {
            if(f == "degC"){
                if(t == "degF"){
                    result =  input * 1.8 + 32;
                }
                if(t == "kelvin"){
                    result = input + 273.15;
                }
            }
        }
        console.log('Parsed input is', input, "and result is", result);
        this.res.val(result);
        return result;
    }

    //var calcTempTest = new Convert($("#from"), $("#to"), $("#units"), $("#result"));
    //var test = new Convert($("#from"), $("#to"), $("#units"), $("#result"));

    $("#btnConvert").click.convertUnits();

</script>
4

2 に答える 2