首页 > 解决方案 > Javascript parseInt() 函数只能工作一次?

问题描述

我是 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);

标签: javascript

解决方案


parseInt返回 a number,但它不会改变原始变量。

尝试您的代码并将以下内容添加到它的末尾:

let numberVersion = parseInt(HTMLBadges)
console.log(typeof numberVersion)

您会看到parseIntinside的结果numberVersion实际上是一个数字,但同样,原始变量HTMLBadges在调用期间不会发生变化。


推荐阅读