我一直用javascript制作视频游戏。但是,有一件事我不明白。
if (!user.hasOwnProperty('firstName')) {
$('#inputSubmit').click(function () {
user.firstName = getInput();
addText_1("Good, now type your character's last name");
});
};
此声明将继续执行。基本上条件是用户没有名字属性,该功能将在点击提交时添加名字。但是,您可以继续按提交按钮,它将继续添加文本。
$('#inputSubmit').click(function() {
if(!user.hasOwnProperty('firstName')) {
user.firstName = getInput();
addText_1('hello');
};
});
然而,这是有效的。它只做一次。有人可以解释一下我不理解的原则吗?
非常感谢!
答案 0 :(得分:2)
您将click
个事件附加到#inputSubmit
。此回调忽略了周围的if语句。在第二个示例代码中,if是在回调函数内部。
答案 1 :(得分:0)
在第一个代码“hasOwnProperty”中检查了函数()的外部作用域,但在第二个代码中检查了函数作用域中的条件