My Memory Game "Engine"
First I see that both classes depend on each other and are tightly coupled together.  Why does a Card object need to know its own index in an Array?

Secondly, the Card object updates the game object, but the game object contains an array of the cards, which means the Game object owns a bunch of Card objects.  

If you were to remove the dual dependency, then you could rewrite your isMatch method to be

    isMatch: {
        value: function(inCard) {
            return (this.val == inCard.val);
        }
    }