我已經對上述主題進行了一些挖掘,但是現在比我開始時更困惑。在Javascript中傳遞和返回一個對象到/從一個函數。
我有一個單位轉換器,我正在努力。
它作爲一個基本模型正常工作,但我現在試圖使它更加模塊化。
有許多單位和許多轉換。
我的計劃是確定需要什麼類型的轉換,溫度,面積等,然後調用適當的函數來執行數學運算。
我對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>
當你運行該代碼時,我會期待一個錯誤,特別是關於'click'沒有方法''convertUnits''。如果將'convertUnits'定義爲'function convertUnits(){/ * your function body here * /}',然後將其指定爲帶有$(「#btnConvert」)的單擊處理函數,那該怎麼辦?click(convertUnits);'? – nnnnnn
那麼你的輸出是什麼呢?到底什麼地方有什麼問題?請告訴我們你到目前爲止所嘗試過的。 – Eric
嗨,沒有輸出可以這麼說。日誌顯示上面提到的nnnnnn,有一個錯誤「TypeError:'undefined'不是一個函數(評估'$(」#btnConvert「)。click.convertUnits()')」 – null