永发信息网

javascript string与int型比较大小问题

答案:2  悬赏:30  手机版
解决时间 2021-01-25 20:43
字符型a与int型b比较大小时,是否要将a强制转换成int型,貌似不转可以直接比大小。
但是两个string比较的时候就要强制转成数值型了。
举例:if (v.value > parseInt(v1.innerHTML)) 一般情况下都是正常的,那么js比较大小的具体原理是什么呢,是否是其中有一个是数值型的就会默认按数值型比较?
最佳答案
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...

}
全部回答
var str1 = "1234"; var str2 = "1234"; number = parseint(str1); number就是int型 str1+str2结果是"12341234" parseint(str1)+parseint(str2)结果就是2468
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
同德汽车贸易市场地址好找么,我有些事要过去
阴雨连绵的天气雨水浸泡了白菜地,则下列生理
NESUN尼尚手表的维修点在哪里?
孩子户口一直跟女方,离婚后,孩子归女方抚养,
【有关诸葛亮的成语】与诸葛亮有关的成语故事
猪肉熟食店在哪里啊,我有事要去这个地方
qq靓号购买qq是不是交780元买了个号又送39个
现在爬宠行业什么爬宠最流行?我想搞繁殖请问
文丘里流量计一般安装在()。
炙甘草能不能长期吃
为什么高层建筑雨水管一般要用给水铸铁管
大猪坐式张口呼吸这是什么状况
挖掘机专营怎么去啊,我要去那办事
生活中的物品有哪些是垃圾回收制成的
2019年新课程同步练习四年级语文上册人教版答
推荐资讯
春弟音乐培训学校地址好找么,我有些事要过去
在百度贴吧搜索QQ号,怎么什么都搜不出来了?
数码宝贝日光熊猫兽是什么合体而成的?网上说
晟鑫地址在什么地方,我要处理点事
颖贝儿专业儿童摄影地址在什么地方,我要处理
厦门市集美区杏全机动车检测有限公司地址有知
输过液拔针后拔针的那血管黑青,刚开始两天还
时序逻辑电路与组合逻辑电路相比,它最大的区
灵魂当铺阿正岁数
【二十年后回故乡结尾】作文题目为:《二十年
股指期货多少钱一手
2017年正月的天干地支
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?