今天在调试代码时遇到一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,因为整个字符串值不能转换成数字
分享到:
相关推荐
在JavaScript(JS)中,将字符串转换为变量是一项常见的任务,尤其在动态编程或处理用户输入时。在JavaScript中,有几种方法可以实现这个目标,主要涉及到`eval()`函数、`window[]`对象以及`new Function()`构造函数...
根据提供的文件信息,这里将详细解释与JavaScript字符串相关的函数,并补充一些缺失或不清晰的部分,以便更好地理解每个函数的功能及用法。 ### JavaScript字符串函数大全 #### 1. Asc(x) - **功能**:返回字符的...
在JavaScript中,将字符串"false"转换为布尔值false并不是一个简单的隐式转换,因为JavaScript会把字符串"false"视作一个真值。针对这个特定问题,我们需要一个明确的方法来确保字符串"false"能被正确转换成布尔的...
在JavaScript编程语言中,字符型数据(通常指字符串类型)转换为整型数据是一项常见的操作需求,尤其是在处理用户输入、解析数据或进行数值计算时。本文将深入探讨如何利用JavaScript来实现这一转换,并在此过程中...
根据给定文件的信息,本文将深入探讨如何在JavaScript中实现16进制字符串到10进制整数的转换,并附带介绍与之相关的其他进制间的转换方法以及字符与ASCII码之间的转换。 ### 一、JavaScript中16进制字符串到10进制...
随着ECMAScript标准的不断发展,ES6及之后版本引入了许多新的字符串处理方法,进一步增强了JavaScript字符串操作的能力: 1. **检查字符串开头或结尾** - `startsWith(searchString[, position])` 和 `endsWith...
在编程领域,字符串逆向转换是一项常见的操作,它涉及到对字符串中的字符进行倒序处理。在不同的编程语言中,有多种方法可以实现这一功能。本文将深入探讨三种主要的字符串逆向转换方法,并分析它们的性能特点。 1....
### JavaScript字符串操作详解 在JavaScript开发中,对字符串进行处理是一项非常常见的任务。本文将详细介绍JavaScript中关于字符串处理的一些常用方法,特别是与“截取”相关的功能,这将帮助开发者更好地理解和...
您可能感兴趣的文章:sql语句中如何将datetime格式的日期转换为yy-mm-dd格式将WMI中的DateTime类型转换成VBS时间的函数代码LINQ字符串向datetime 转换时失败的处理方法Sql中将datetime转换成字符串的
number_format()函数用于将字符串转换为数字。它会在成功时返回格式化的数字,否则会在失败时给出E_WARNING。 <?php $num = "1000.314"; // 使用number_format()函数将字符串转换为数字 echo number_format...
### 常用字符串处理函数:求子字符串、字符串分割与编码转换 在现代编程语言如JavaScript中,字符串处理是日常开发中极为常见的任务之一。本文将深入探讨几个常用的字符串处理函数,包括如何求取子字符串、进行字符...
标题"javascript字符串排序"提示我们关注的重点是如何在JS环境中有效地对字符串进行排序。描述中提到的方法比默认的`sort()`方法效率更高,速度更快,这通常涉及到自定义排序函数的使用。 默认情况下,JavaScript的...
在深入探讨排序算法之前,我们先了解一些关于JavaScript字符串和数组的基本知识。 #### 1. 字符串和数组 - **字符串**:在JavaScript中,字符串是一种原始数据类型,用于表示文本。 - **数组**:数组是一种对象...
### JavaScript字符串操作详解 在JavaScript中,字符串是用于表示文本数据的一种基本数据类型。字符串可以包含单个字符或多个字符组合成的文本序列。本文将详细介绍JavaScript中的字符串操作方法,帮助开发者更好地...
### JavaScript中的`eval()`函数与对象字符串互转详解 #### 一、`eval()`函数概述 在JavaScript中,`eval()`函数是一个强大的工具,它能够将字符串形式的JavaScript代码解析并执行。这使得动态生成和执行代码成为...
`parseInt()`, `parseFloat()`用于将字符串转换为整数或浮点数,而`toString()`则将数值转换为字符串。 总结,JavaScript中的字符串是处理文本数据的基本工具。理解和掌握字符串的特性及操作方法,对于Web前端...
"JavaScript中常见的字符串操作函数及用法" JavaScript 中的字符串操作函数是非常基础和重要的,以下是 JavaScript 中常见的字符串操作函数 及其用法。 字符串转换 字符串转换是最基础的要求和工作,你可以将任何...
相反,如果我们有一系列ASCII值,想要组合成一个字符串,可以逐个将这些值用`chr()`函数转换,然后连接起来。在Python中,可以使用列表推导式和`join()`函数来实现。 ```python # Python示例 ascii_values = [65, ...