set("mean",total/weight);
if (mean = "NaN") {
alert("Error! Please use NUMBERS only");
}
我想警报只在结果是NaN时运行,计算没有if语句,所以我知道这不是问题。我不能让警报正常工作
set("mean",total/weight);
if (mean = "NaN") {
alert("Error! Please use NUMBERS only");
}
我想警报只在结果是NaN时运行,计算没有if语句,所以我知道这不是问题。我不能让警报正常工作
变化
if (mean = "NaN") {
到
if (mean == "NaN") {
在第一ü将值设置到一个变种,在第二U做一个逻辑比较
使用isNaN功能比较:
if(isNaN(mean)){
alert("Error! Please use NUMBERS only");
}
计算运行,但现在无论什么 – user3373223
都不知道,会使用一种方法来解决这个问题。谢谢 – user3373223
您正在拼写字符串"NaN"
到mean
,而不是比较。
你也不能用mean === NaN
来检查,因为与NaN
比较总是返回false。
要检查是否为NaN
,您必须使用isNaN函数。
if (isNaN(mean)) {
alert("Error! Please use NUMBERS only");
}
在JavaScript中,mean = "NaN"
,具有单个平等设置值的mean
。然后if语句将检查值“NaN”的“真实性”,其将评估为真。也就是说,您的if(mean = "NaN")
将首先将mean
设置为文字字符串"NaN"
,然后再测试if("NaN")
。
使用双等于(mean == "NaN"
)是否相等的比较,和三重等号(mean === "NaN"
)的类型和相等比较。
但是,mean == "NaN"
将始终返回false
,因为NaN
is not the literal string "NaN"
but a special value。改为使用isNaN(mean)
。
使用比较运算符'==',而不是'=' –