Minimax for Tic-Tac-Toe
This would be a good place to use a ternary comparison operator:


var otherPlayer;
if(currPlayer == board.X){
  otherPlayer = board.O;
} else {
  otherPlayer = board.X;
}



Then it would become a single line:

var otherPlayer = currPlayer == board.X ? board.O : board.X;


You could do this in a few other places as well.




for(var i=0; i&lt;moveList.length; i++){



You use spaces around your operators for the most part, you should be consistent with this.




var b = new Board();



In the Minimax object code, you use good variables names.  Not so much in the Board object code.

Otherwise, this looks good to me, very clean, neat, and well documented.