今天在调试代码时遇到一js问题,开始时觉得奇怪,因为代码结构基本一模一样,可是运行结果就是有差别。问题的两行代码如下:
spanAValue= document.getElementById('spanA').innerHTML-1;
spanBValue = document.getElementById('spanB').innerHTML+1;
假设spanA和spanB中都是数字100,可是运行结果却很奇怪一个是99,一个是1001
结果发现原来是js中的弱类型所致,默认的innerHTML取出来的都是string类型,可是运行减运算时,string会被强制转为数字,而运行加运算时,浏览器解释为两个字符串的连接处理操作了
解决方法是用字符串转换函数parseInt(),或Number()函数。
spanAValue= document.getElementById('spanA').innerHTML-1;
spanBValue = parseInt(document.getElementById('spanB').innerHTML)+1;
这样代码就不会运行出错了
注:js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。
Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。还记得吗,parseInt()和parseFloat()方法只转换第一个无效字符之前的字符串,因此 "4.5.6 "将被转换为 "4.5 "。用Number()进行强制类型转换, "4.5.6 "将返回NaN,因为整个字符串值不能转换成数字
分享到:
相关推荐
您可能感兴趣的文章:sql语句中如何将datetime格式的日期转换为yy-mm-dd格式将WMI中的DateTime类型转换成VBS时间的函数代码LINQ字符串向datetime 转换时失败的处理方法Sql中将datetime转换成字符串的
常用字符串处理函数 求子字符串,字符串分割,编码转换.
js字符串转换成数字 将字符串转换成数字,得用到parseInt函数。parseInt(string) : 函数从string的开始解析,返回一个整数。 举例:parseInt(‘123’) : 返回 123(int);parseInt(‘1234xxx’) : 返回 1234(int...
js中date类型时间与字符串类型函数转换工具包,可以作为前端util包
number_format()函数用于将字符串转换为数字。它会在成功时返回格式化的数字,否则会在失败时给出E_WARNING。 <?php $num = "1000.314"; // 使用number_format()函数将字符串转换为数字 echo number_format...
json字符串和js对象之间的转换,包括eval、parseJSON函数、JSON.parse、$.toJSON、$.parseJSON、复杂的json格式对象使用,让你一分钟理解json的那些事
Linux下用C语言将一个字符串格式(char*)的MAC地址转换为十六进制数组,代码简洁可直接使用
最近遇到一个问题,就是获取表单中的日期往后台通过json方式传的时候,遇到Date.parse(str)函数在ff下报错: NAN 找了些资料,发现是由于Date.parse()函数对日期格式有要求:详细参考 Date.parse函数 对于js操作日期: ...
两个自定义的实现字符串与数组相互转换的js函数,希望能对大家有用: 代码如下:function StringToArray(str,substr) { /* 函数功能:字符串按照指定字符串分割转换为数组 参数: str :需转换的字符串 substr:分割字符...
本文实例讲述了JavaScript通过字典进行字符串翻译转换的方法。分享给大家供大家参考。具体分析如下: 这里实际上就是先设置一个对照的字典,然后通过翻译函数,从字典中找到相应的键值。需要在JavaScript 1.8以上...
在项目中遇到一个问题:在前端需要把后台返回的json字符串转换成一个js中的json对象,可是从后台返回的字符串中含有转义字符:\”, 在网上查到方法如下,可以处理这种情况: var page = eval(“(“+data+”)...
方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个...
主要介绍了JavaScript将字符串转换为整数的方法,涉及javascript中parseInt函数的使用技巧,非常具有实用价值,需要的朋友可以参考下
JS常用工具函数(压缩包中含有MD文件可自行查看)--包含:通用格式化时间、字符串验证-验证邮箱、手机号、电话号码、url地址、严格校验身份证号码,判断数据类型-是否是字符串、数字、Boolean、函数、对象、数组...
JS 是一个很神奇的语言,内制的的很多函数可以帮我们进行数(进)制转换; JS中可以直接使用16进制; var a = 0xff; //255 将任意进制字符串转换为十进制,如二进制,八进制,十六进制, 第二数数不写即为最常用的...
一、JSON字符串转换为JSON对象 要使用上面的str1,必须使用下面的方法先转化为JSON对象: //由JSON字符串转换为JSON对象 var obj = eval(‘(‘ + str + ‘)’); 或者 var obj = str.parseJSON(); //由JSON...
注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换。示例一:输入: "42"输出: 42示
本文实例介绍了javascript中字符串和数组的相互转换方法,分享给大家供大家参考,具体内容如下 字符串和数组的相互转换操作是非常的重要的,因为在实际编码过程中会经常用到,所以这是必须要掌握的知识点,当然这个...
要让数字更加显式地转换为字符串,可以使用String()函数: 代码如下: var string_value = String(number); c. 使用toString()方法: 代码如下: string_value = number.toString(); Number对象的(基本的数字转换为...
将****-**-** *:**:**格式的时间转换成数字,由此可实现对时间先后发生顺序的判断等诸多操作。本例只以年月日小时这一部分做了处理,若要细化到分秒,思路皆是如此。