JavaScript函数问题

时间:2013-12-16 20:35:34

标签: javascript function

我这里有一些代码无效。我不知道我怎么能让它工作,一些帮助会很棒!

这是一个问题,所以你了解我从哪里开始编码。

问题:

使用面向对象的设计来设计一个名为PhoneBill的类,该类计算并打印在结算期间电话公司的每个客户所欠的余额。您的PhoneBill课程将接收客户的当前余额以及在结算周期内的phonce呼叫的总时间(以分钟为单位)。输入时间将被验证,呼叫成本将以每分钟25c的速度计算。您的课程是打印输入余额,电话通话时间,电话费和应付总金额。

一个。设计类表

湾为表中的每个操作编写一个算法。

℃。编写测试或驱动程序算法来测试解决方案

function PhoneBill()
 {
     this.bal;
     this.min;
     this.currCharge;
     this.Totaldue;
     this.currCharges=function()
     {
         this.currCharge=this.min*.25;
     }
     this.Totaldue=function()
     {
         this.Totaldue=this.bal+this.currCharge;
         return (this.Totaldue);
     }
     this.bal=function()
     {
         return (this.bal);
     }
     this.min=function()
     {
         return (this.min);
     }
 }

me=new PhoneBill();
me.balance=eval(prompt("Enter Current Balance: "));
me.minutes=eval(prompt("Enter Minutes Used: "));

document.write("Current Balance = $"+me.balance+"<p>");
document.write("Minutes Used = "+me.minutes+"<p>");
document.write("Current Charges = $"+me.currCharges()+"<p>");
document.write("New Balance = $"+me.Totaldue()+"<p>");

错误即时:

当我运行它时,我输入Current Balance(10)Minutes used(10)

然后打印出来:

Current Balance = $10

Minutes Used = 10

Current Charges = $undefined

New Balance = $function() {return (this.bal); } NaN

我对这段代码做了什么,让它打印出来?

1 个答案:

答案 0 :(得分:0)

那是因为你正在使用this.Totaldue来定义函数。在此功能中,您可以使用:this.Totaldue=this.bal+this.currCharge;

重新定义它

所以你需要做的是获取这些函数的返回值,而不是定义。

  this.Totaldue=function()
 {
     return this.bal()+this.currCharge();
 }

但是当我写这篇文章时哈哈。你不能让bal()en min()回归自己。这没有任何意义。 你想要的是属性this.bal = 'whatever';和ex的函数定义。 this.getBal = function() { return this.bal; }但是因为你只使用吸气剂,所以你可以立即获得物品:this.bal。当你进入课堂本身时,你肯定不需要吸气剂和制定者。