不需要的数据类型切换
Javascript Unwanted Data Type Switching
我在c
下设置了一个数字变量。在通过本地存储和几个函数运行它之后,变量就变成了一个字符串。不是x
加到c
,而是x
加一个数字到c。有人能看出问题吗?
function hi() {
c += x;
document.getElementById("paragraph").textContent = "This is a string" + c;
localStorage.clocal = c;
}
function resetvar() {
c = localStorage.clocal;
}
function bla() {
if (localStorage.getItem("clocal") === "null") {
document.getElementById("parargraph").textContent = "This Works Okay";
} else {
document.getElementById("parargraph").textContent = "This is a string" + localStorage.credits;
}
}
存放在localStorage中的数据总是字符串。
如果你想要得到一个数字你必须解析它
这样的c = parseInt(localStorage.clocal);
这就是JS的本质。您可以使用parseInt(c, 10) + x或x + 1 * c来解决这个问题。
要遵循这些方法的流程有点困难,但我看到一个明显的问题是这一行:
c += x
在这种情况下,你说你想让c等于c + x的结果,其中x是一个字符串,而不是让x等于x + c?通过执行此赋值,您将c转换为字符串。在此之后,无论你做什么——它仍然是一个字符串,除非你将它显式地重新赋值为整数。
我希望我正确地理解了你的意图。相关文章:
- 为什么不'我们在javascript中使用函数参数的数据类型
- Highcharts映射附加不需要的数据
- 如何从加载到javascript中的导出XML数据中删除不需要的空格
- 为什么或者为什么不缩写某些数据类型的核心函数
- Google图表:轴#0的数据列不能为字符串类型
- 将远程数据加载到select2输入类型不起作用
- 如何在不更改属性数据类型的情况下推送对象数组
- 如何在HTML5网页中本地保存数据,这样我们就不需要一次又一次地从服务器获取
- 道场数据类型不起作用
- 为什么正则表达式模式不符合 javascript 数据类型的条件
- 如何在不需要刷新的情况下将Kendo UI数据向导集成到页面上
- 未捕获的错误:不变冲突:元素类型无效:需要字符串(对于内置组件)或类/函数,但得到:对象
- 如何避免在asp中在一个剑道网格中使用两种类型的编辑时创建不需要的弹出窗口
- 如何在数据表中加载数据块,而不需要服务器端处理
- 不需要的数据类型切换
- 通过ajax保存表单数据,不需要服务器代码
- 在数据库中保存数据而不需要在php中重定向
- 查找字段数据类型不是NaN的所有记录
- 如何使用ajax检索数据而不需要发布页面?Laravel 5
- 动态添加行时Google图表数据类型不匹配