<script> var WEST = 0; var EAST = 1; function FarmerState(f, w, g, c) { this.f = f; this.w = w; this.g = g; this.c = c; this.toString = function () { \\ note use of anonymous function var fWest = " F | | \n"; var fEast = " | | F \n"; var wWest = " W | | \n"; var wEast = " | | W \n"; var gWest = " G | | \n"; var gEast = " | | G \n"; var cWest = " C | | \n"; var cEast = " | | C \n"; var buf = "\n"; if (this.f == WEST) buf += fWest; else buf += fEast; if (this.w == WEST) buf += wWest; else buf += wEast; if (this.g == WEST) buf += gWest; else buf += gEast; if (this.c == WEST) buf += cWest; else buf += cEast; return buf; }; }; var state = new FarmerState(WEST, WEST, WEST, WEST); alert(state.toString()); </script>