在 JavaScript 中,为什么 Number() 函数在这里不起作用并返回一个字符串
In JavaScript why Number() function does not work here and gives back a string?
我有这个简单的例子,但无法找出解决方案。有人可以告诉我为什么使用 Number() 函数后 n 仍然是字符串吗?谢谢!
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Still a string</title>
<style>
input {
width: 30px;
}
</style>
</head>
<body>
n = <input type="number" id="n"><br/>
<button id="but" onclick="gen()">Push me!</button>
<script>
var n;
function gen() {
n = document.getElementById("n").value;
Number(n);
alert(typeof n);
}
</script>
</body>
</html>
Number
不将参数转换为数字,而是返回数字,请尝试以下操作:
function gen() {
var n = document.getElementById('n').value;
var num = Number(n);
alert(typeof num);
}
javascript 中的原始数据类型(字符串、数字、布尔值等)是不可变的
因此,每当您将字符串"n"更改为数字时,数字都会存储在内存中,但"n"仍然指相同的字符串。
相反,您应该将代码键入为:
var n;
function gen() {
n = document.getElementById("n").value;
n = Number(n);
alert(typeof n);
}
相关文章:
- .value返回字符串,直到我将其保存到变量
- 无法从量角器测试中元素的值返回字符串
- 如何使用match返回字符串中的字符
- document.write未返回字符串
- $.ajax 检查返回字符串是否为“错误”
- jQuery AJAX调用PHP脚本并返回字符串
- javascript中对数字数组的迭代返回字符串
- 带多维数组返回字符串的json_encode;阵列”;而不是数据
- javascript只返回字符串的一级域名
- 使用Node.js'fs.readFile()返回字符串出现的行
- Javascript返回字符串
- Asp.net WebMethod-返回字符串[]并使用JavaScript进行解析
- 返回字符串中第一个数字之前出现的所有字母
- Javascript 计算器返回字符串而不是值
- EmberJs 将函数的返回字符串添加为类名
- 跨域 AJAX 调用返回字符串 JSON,而不是 JSON 对象
- Javascript:调整base64图像的大小并以非异步方式返回字符串
- 量角器/JavaScript - 从选择下拉列表中返回字符串的函数
- 在 JavaScript 中返回字符串
- 数组 .each() 循环返回字符串而不是 jQuery 中的值