奇怪的JavaScript运算符

| 我对操作员有一点问题。我有一个根据键输入而加或减的数字。奇怪的是,运算符+ = 1和+ = 11从字面上将数字加到静态数字上:60变成601和6011而不是61和71。 这是代码,因此请考虑静态数字为60:
switch(e.keyCode) {
    case 37:
        boxID -= 1;
        break;
    case 38:
        boxID -= 11;
        break;
    case 39:
        boxID += 1; // Becomes 601
        break;
    case 40:
        boxID += 11; // Becomes 6011
        break;
}
    
已邀请:
case1ѭ是您的情况下的字符串。首先使用
parseInt(boxId)
或仅将
boxId << 0
转换为数字
-=
起作用的原因是因为它仅具有一个函数(使用Math进行减法),因此将
boxId
强制转换为运算前的数字。 JavaScript6ѭ在JavaScript中重载以表示\“字符串连接或数学加\\”,因此,如果
boxId
是字符串,则它执行字符串操作。     

要回复问题请先登录注册