For loop 无法为循环输入CoffeeScript

For loop 无法为循环输入CoffeeScript,for-loop,foreach,scope,coffeescript,range,For Loop,Foreach,Scope,Coffeescript,Range,为什么我的代码没有命中包含警报的行 window.Game = class Game constructor: -> rows: 22 columns: 10 board: [] createBoard: ->

为什么我的代码没有命中包含
警报的行

window.Game = class Game
  constructor: ->
    rows: 22
    columns: 10
    board: []

createBoard: ->                                                                                                                                                                                           
  # Some code here...
  for x in [0...@columns]
    alert("THIS IS HERE")
  # More code down here...

可能是因为
@columns
未定义

您的构造函数:

constructor: ->
  rows: 22
  columns: 10
  board: []
只需创建一个对象并将其丢弃,如下所示:

constructor: ->
  o = {
    rows: 22
    columns: 10
    board: []
  }
  return
因此,没有设置实例变量,并且您的构造函数根本做不了什么。也许你是想说:

constructor: ->
  @rows = 22
  @columns = 10
  @board = []
或者可能:

constructor: (@rows = 22, @columns = 10, @board = [ ]) ->
我假设您的
createBoard
方法实际上缩进了一级,因此它是
Game
类中的一个方法