javascript string与int型比较大小问题

发布网友 发布时间:2022-04-21 15:13

我来回答

1个回答

热心网友 时间:2022-04-23 13:27

JS是弱类型语言,变量的类型不是固定的,可以随时根据环境变化,JS运行时会自动根据当前的一些情况进行隐式转换。string类型是无法比较的,int比较肯定没有问题,但string和int比较时,这个时候就会隐式转换string为number类型,如果转换失败就返回false;再打个比方("a"+1.1),会返回"a1.1",这个时候number1.1会隐式转换为string "1.1"。
对于刚入门的人,不用考虑类型问题倒是方便,但越往后疑问会越多。我建议你,强化类型的概念,如果你确定此处是int,那养成习惯,对于来源进行显示转换成int,否则程序会有很多异常,这是一个优秀程序员最基础的概念。
比如你上面的例子:
var _a = parseInt(v.value);
var _b = parseInt(v1.innerHTML);
if(isNaN(_a) || isNaN(_b)){
//throw new Error

}else if (_a > _b){
//your code...

}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com