Coffeescript更新实例属性时出现问题

Coffeescript更新实例属性时出现问题,coffeescript,Coffeescript,我在访问和更新我认为是coffeescript中的实例属性时遇到问题。我正在尝试更新@cart\u总数。我第一次更新总数时,效果很好。然而,它只是第一次起作用。似乎@cart\u总数只更新了一次 代码如下: class Cart constructor: ()-> @cart_total = 0.00 updateTotal: (amt)-> @cart_total = @cart_total + amt this.updateTotal(

我在访问和更新我认为是coffeescript中的实例属性时遇到问题。我正在尝试更新@cart\u总数。我第一次更新总数时,效果很好。然而,它只是第一次起作用。似乎@cart\u总数只更新了一次

代码如下:

class Cart 

  constructor: ()->
    @cart_total = 0.00 


  updateTotal: (amt)->
    @cart_total = @cart_total + amt


  this.updateTotal( @lineItem.total )
当我调用updateTotal时,它似乎只是第一次起作用。我真的非常感谢您的帮助,谢谢

编辑:


我从类中调用updateTotal。我在上面添加了代码

因为您正在定义一个类,所以任何函数调用都应该在一个方法中。除非您试图创建类方法或变量,但我不相信这是您在这里试图实现的

这可能有助于:

class Cart 
    constructor:       -> @cart_total  = 0 
    updateTotal: (amt) -> @cart_total += amt
    getTotal:          -> @cart_total
    addTen:            -> @updateTotal 10

cart = new Cart

cart.updateTotal 9.50
console.log cart.getTotal()

cart.updateTotal 19.50
console.log cart.getTotal()

cart.addTen()
console.log cart.getTotal()​​​​​​​​​​​​​​​​​​

注意:间距是多余的,但我喜欢它的外观。祝你好运。

你不必用javascript写0.00,因为只有一种数字类型,0就足够了。javascript中没有“实例变量”,因为没有类。您的函数应该可以工作,但是我们不知道您如何调用它。您如何调用
updateTotal
?也许上的演示会有所帮助,您可以在“面板”下选择CoffeeScript来使用CoffeeScript。@camus-我很感激关于0的指针。我更新了代码以显示如何调用updateTotal@mu-谢谢!我正在尝试学习如何使用jsfiddle.new来提供一个演示。并更新了我如何调用updateTotal。这根本不会执行,
(将是购物车)在该上下文中没有
updateTotal
方法: