我试图测试一个变量,以确保[a]它是初始化的,[b]是一个数字,然后再提供数字作为参数。我尝试使用两个函数noNil(i)
和noNan(i)
来实现这一点。在测试一个变量是否是一个数字之前,确定它是否被初始化是有意义的。但是先调用哪个函数并没有什么区别。第一个警报报告undefined
,而第二个警报没有报告任何内容。在纯JavaScript中,检查变量是否初始化为数字的标准方法是什么?
例如。
var i;
noNil();
alert(i);
noNaN(i);
alert(i);
function noNil(i) {
if (i === undefined){
let i = -1;
return i;
}
}
function noNan(i) {
if (isNaN(i)) {
let i = 30;
return i;
}
}
字符串
说明
一点背景可能会有所帮助。变量定义有5种方式; 0到4从数组中选择颜色。如果未定义,则不选择任何颜色。
let family = ["yellow", "red", "lime", "cyan","magenta"];
...
ctx.fillStyle = family[i];
型
2条答案
按热度按时间lf5gs5x21#
使用
typeof i === 'number'
判断该值是否为JS数字类型。字符串
关于选择颜色的用例,您可以避免使用数字:
型
但主要的问题可能是为什么你最终得到的
i
不是你的颜色数组的正确索引的数字...如果你想检查字符串,这个主题突然变得复杂得多(我甚至没有涵盖所有情况,比如科学记数法):
型
tzcvj98z2#
试试这个:
字符串