当手动设置值时,我有一个可以完美工作的函数

function doSomeMath(array,number){
  some math here.....
}


仅当我手动设置月度帐单时有效

function customer(){
 this.monthlyBill = 300;
}


当我这样做时,它可以正常工作:

var someArray = [.2,.3,.6];
var customerData = new customer();
doSomeMath(someArray,customerData.monthlyBill);


问题是我不想手动设置它,我想从表单输入元素获取值。

当我这样做时,它搞砸了:

function customer(){
 this.monthlyBill = $('#monthly_bill').val();
}


我进入#monthly_bill表格并输入300,我得到一个完全不同的值。

我打字有什么区别

this.monthlyBill = 300




this.monthlyBill = $('#monthl_bill').val();    // and then typing 300 into a form.

最佳答案

在第二种情况下

this.monthlyBill = $('#monthl_bill').val();


它被认为是字符串。您需要将其解析为整数

所以基本上:

this.monthlyBill = parseInt($('#monthl_bill').val());

10-06 12:03