If 语句和 .click 函数

If statement and .click function

本文关键字:函数 click 语句 If      更新时间:2023-09-26

我一直在用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');
    };
});

但是,这有效。它只做一次。有人可以解释一下我不理解的原理吗?

谢谢!

click事件附加到#inputSubmit 。此回调忽略周围的 if 语句。在第二个示例代码中,if 位于回调函数内。

在第一个代码中"hasOwnProperty"在函数()的外部范围内检查,但在第二个代码中,在函数范围内检查条件