【发布时间】:2020-08-19 16:03:29
【问题描述】:
我正在努力学习应用意义上的 Javascrcipt,而不仅仅是学习它的“理论”。
我写的部分代码如下:
let count;
splitStory.forEach(function(element) {
if (overusedWords.includes(element)) {
count = count + 1;
}
})
console.log(count);
当我运行该函数时,它会将NaN 记录到控制台。但是,当我将let count; 更改为let count = 0 时,它会记录应记录到控制台的正确数字。据我所知,对变量使用let 声明是有效的,但在这种情况下,似乎存在问题。如果我要将count = count + 1; 替换为count = 'sample_string',它会起作用并将'sample_string' 记录到控制台。这就引出了我的问题,除非声明中另有说明,否则变量的默认数据类型是字符串吗?
【问题讨论】:
-
javascript 变量无类型 - 但
let count;等价于let count = uindefined -
默认的值是
undefined。undefined + 1是NaN。NaN + 1也是NaN。 -
搜索期望有无数的重复。发现了一个骗子,它并没有完全解决这里的问题。
标签: javascript variables let