我相信我忽略了我正在做的事情。我试图玩弄对象并获得一些乐趣,但我遇到了这个奇怪的错误。我在 C++/C# 中使用过 OO。我创建了一个游戏环境对象,该对象将包含有关此游戏的所有信息。然后我创建了一个验证工具(对象),其中包含有效输入的正则表达式测试,我在其中调用并传入然后返回测试结果。使用这些对象,我创建了一个launch();函数,提示用户输入用户名并使用该工具进行验证。正是在这个电话中,我遇到了这个错误。考虑到这个错误,我不确定我在做的事情在 JS 中是否合法。launch();function launch() { var userNameInput = prompt("Please enter your name:", "User Name"); if (gameEnv.player(userNameInput)) { alert("Please enter only letters for a username."); location.reload(true); }}var gameEnv = { playerName: "", set player(input) { if (validationTool.LetterValidator(input)) { this.playerName = input; return 1; } else { return 0; } },}var validationTool = { letterOnlyValidation: /^[a-zA-Z^\s]+$/, LetterValidator: function(input) { return letterOnlyValidation.test(input); },}
2 回答
![?](http://img1.sycdn.imooc.com/54584ed2000152a202200220-100-100.jpg)
MMMHUHU
TA贡献1834条经验 获得超8个赞
这里有几个问题:
set 语法绑定了一个对象属性,应该=用来赋值。
订单事项
var gameEnv = {
playerName: "",
set player(input) {
if (validationTool.LetterValidator(input)) {
this.playerName = input;
alert("player name set");
} else {
alert("Please enter only letters for a username.");
}
},
}
var validationTool = {
letterOnlyValidation: /^[a-zA-Z^\s]+$/,
LetterValidator: function(input) {
return this.letterOnlyValidation.test(input);
},
}
launch();
function launch() {
var userNameInput = prompt("Please enter your name:", "User Name");
gameEnv.player = userNameInput;
}
添加回答
举报
0/150
提交
取消