gpt4 book ai didi

javascript - 切换 boolean 变量(应用)

转载 作者:行者123 更新时间:2023-12-02 17:41:37 24 4
gpt4 key购买 nike

我正在尝试制作一个游戏(俗气,我知道),并且考虑到我对 javascript/jquery 不太擅长,我已经成功地陷入了切换 boolean 变量的困境。我尝试了整个 var = !var (不知道这意味着什么),但有些人推测它只在 Objective C 中有效(同样,不知道)。我做了一个JS fiddle http://jsfiddle.net/clarinetking/mLG6c/1/目前它可以工作,但我想向所有名为“equip”的对象添加一个变量,并使其以 false 开始,并在按下正确的按钮时切换为 true。

var sword = {
nam:'Sword',
atk:5,
def:1,
spd:-1,
type:'LeftH',
//equip = false
};

等等

switch ( $(this).attr('id') ) {
case 'equipsword':
atk += sword.atk;
def += sword.def;
spd += sword.spd;
//insert equip switch here
break;

最佳答案

是的 ! 不仅仅适用于 C 语言,! 是 NOT 运算符,它基本上与前面的内容相反,所以:

!true === false
!false === true

这也适用于真/假值:

!null === true
!0 === true
!15 === false
!"" === true

因此,要切换 boolean 值,只需使用以下命令:

var sword = {
nam:'Sword',
atk:5,
def:1,
spd:-1,
type:'LeftH',
equip:false
};
switch ( $(this).attr('id') ) {
case 'equipsword':
atk += sword.atk;
def += sword.def;
spd += sword.spd;
sword.equip = !sword.equip;
break;

但是从外观上看,案例“equipsword”只会在装备时触发,而不是取消装备,所以最好只执行sword.equip = true;,特别是因为可能有机会其他一些代码可能会更改 equip 的值,然后切换将无法按预期工作,例如,如果在触发Equipsword案例之前运行以下代码:

function someFunctionThatGetsCalled(){
sword.equip = true;
}

这会导致装备为真,然后当触发装备剑案例时,sword.equip 将变为假,因为它使用 !sword.equip 切换。

关于javascript - 切换 boolean 变量(应用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22157429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com