Typeof命令不起作用

typeof command doesnt work

本文关键字:不起作用 命令 Typeof      更新时间:2023-09-26

嗨,我想检查DOM的值:

if ($('#ATTN').val() == '') {               
    $('#ATTN').val(0);
} else {
    iattn=$('#ATTN').val();
    alert(iattn);
    if(typeof iattn == 'number'){
        alert('oh');
    }
}

但是它什么也不返回。也没有显示错误。

这一行

iattn=$('#ATTN').val();

返回一个字符串。

如果你想看看它是否可以被转换成整数,那么你需要做的是:

iattn=parseInt($('#ATTN').val());
if (iattn) {
    alert("oh");
}

如果你想要一个更一般的数字测试,使用parseFloat而不是parseInt

如果您想检查解析的结果是否与输入匹配,请使用如下内容:

iattn=$('#ATTN').val();
if (iattn == parseInt(iattn)) {
    alert("oh");
}

一个更简单的检查,它实际上不会将任何内容转换为数字,并且允许所有数字格式(例如2.3,0x3, +23):

if (!isNaN(iattn)) {
    alert("oh");
}

信用归@p.s.w。

.val()返回一个DOMString (string)

所以typeof iattn永远是string

如果你想要typeof number,你需要转换成int

使用parseInt(iattn)parseFloat(iattn)