我正在使用代码
function highlight()
{
var field=document.forms["signin"]["username"].value;
if(field.length==0)
return false;
}
我写了另一个函数
function check()
{
if (highlight()==false;)
{
alert('message');
}
}
我可以在if区域中调用该函数并检查函数是否返回false吗?
答案 0 :(得分:1)
当然可以。 hightlight()
表达式将被评估并转换为其返回值,然后继续进行== false
检查。
我看到的主要问题是你return false
语句中的if
,但是如果你没有进入,那么你将永远不会返回任何内容。
不返回任何内容的函数变为undefined
,这是假的,它将始终从第二个check
函数触发警报。
答案 1 :(得分:0)
您的函数返回false
或undefined
。 false
和undefined
都等同于false
,因此检查始终为真。像这样修复它;
function highlight() {
var field=document.forms["signin"]["username"].value;
if(field.length==0)
return false;
else
return true;
}
或者,您可以使用===
代替==
,因为虽然undefined == false
属实,但undefined === false
并非如此。