【发布时间】:2021-02-21 21:04:12
【问题描述】:
我是 Javascript 新手,有一个关于使用 parseInt() 函数将字符串转换为数字的问题。
我正在通过编写以下代码来练习 parseInt,并在将用户输入从字符串变为数字之前使用 typeof 检查控制台中的数据类型。显示结果后,我再次使用控制台日志检查数据类型,仍然是字符串。
parseInt() 是否在此语句运行期间仅转换一次,然后返回原始状态?原始状态是指最初编写代码的状态。在这种情况下,HTMLBadges 会提示用户输入一个字符串。
let HTMLBadges = prompt("How many HTML badges have you earned?");
let CSSBadges = prompt("How many CSS badges have you earned?");
console.log(typeof HTMLBadges + typeof CSSBadges);
totalBadges = parseInt(HTMLBadges) + parseInt(CSSBadges);
console.log(`You have a total of ${totalBadges} badges!`);
console.log(typeof HTMLBadges + typeof CSSBadges);
【问题讨论】:
-
parseInt不会更改参数。它返回一个新整数,但参数保持不变。 -
为什么不呢?你没有将它分配给变量,你没有做
HTMLBadges = parseInt(HTMLBadges) -
字符串在 javascript 中是不可变的。这是一种奇特的说法,我们不能改变原件。如果您想稍后访问它们,您需要将突变保存到变量中。
标签: javascript