2014-05-15 53 views
-2

我正在嘗試創建一副沒有使用for循環的卡片。我得到的錯誤 「未捕獲的語法錯誤:線路189意外令牌」 線189是符合 「createcards如何在函數中放置for循環?

var deck = { 
suit: suit = ["Diamond", "Heart", "Club", "Spade"], 
name: name = ["Nine", "Ten", "Jack", "Queen", "King", "Ace"], 
cards: cards = [], 
createcards: for (var i = 0; i < suit.length; i++){ 
     for (var j = 0; j < name.length; j++){ 
     deck.cards.push(card(name[j], suit[i])) 
    } 
}, 

draw: function (player){ 
    randnumber = Math.floor((Math.random() * cards.length)) 
    player.push[cards[randnumber]]; 

} 
}; 
+5

你其實沒有一個功能...... –

+0

你的語法無效,請查看http://www.jshint.com/的錯誤 – elclanrs

回答

3

設置cretaecards作爲一個匿名函數:

createcards: function(){ 
    for (var i = 0; i < deck.suit.length; i++){ 
      for (var j = 0; j < deck.name.length; j++){ 
      deck.cards.push(card(deck.name[j], deck.suit[i])) 
     } 
    } 
}, 
+1

@PaulRoub:夠了。相應的推薦。 – Faust

1

你必須在字面對象中定義一個函數。

var deck = { 
suit: suit = ["Diamond", "Heart", "Club", "Spade"], 
name: name = ["Nine", "Ten", "Jack", "Queen", "King", "Ace"], 
cards: cards = [], 
createcards: function() { 
    for (var i = 0; i < suit.length; i++) { 
     for (var j = 0; j < name.length; j++) { 
      deck.cards.push(card(name[j], suit[i])) 
     } 
    } 
} 
}, 
0

你應該分配給createcards一個匿名函數,像這樣:

createcards: function() { 
    for (var i = 0; i < suit.length; i++) { 
     for (var j = 0; j < name.length; j++) { 
      deck.cards.push(card(name[j], suit[i])); 
     } 
    } 
} 
0

使用功能,像這樣:

var deck = { 
suit: suit = ["Diamond", "Heart", "Club", "Spade"], 
name: name = ["Nine", "Ten", "Jack", "Queen", "King", "Ace"], 
cards: cards = [], 
createcards: 
    function() { 
     for (var i = 0; i < suit.length; i++){ 
      for (var j = 0; j < name.length; j++){ 
       deck.cards.push(card(name[j], suit[i])) 
      } 
     } 
    }, 
draw: function (player){ 
    randnumber = Math.floor((Math.random() * cards.length)) 
    player.push[cards[randnumber]]; 

} 

};

您可以調用該對象內部的功能是這樣的:

deck.createcards(); 

不過我建議你看看符合:

deck.cards.push(card(name[j], suit[i])) 

因爲沒有功能卡在這裏...