JavaScript 状态模式