猿问

这个语法不是很清楚,麻烦帮忙看看在js中函数相互调用的问题?

function f()
{
var flag1=f1();
var flag2=f2();
if(flag1&&flag2)
{window.alert(flag1+flag2);return false;}
if(!flage2){
window.alert(flag2);return false;
}
return false;
}
其中函数f1和f2均返回true或false。然后我在button中写到onClick="return f();"
为什么不论我怎么改变flag1和flag2的值,总不会执行第二个if语句(即if(!flage2))呢?
如果我用f1()代替flag1,用f2()代替flag2,那么程序就能正常运行。也就是不论我的if语句中的表达式是什么,第二个if语句就能正常执行了。

梦里花落0921
浏览 364回答 2
2回答

慕侠2389804

这么简单的问题...function f(){var flag1=f1();alert(flag1);var flag2=f2();alert(flag2);if(flag1&&flag2){window.alert(flag1+flag2);return false;}if(!flage2){window.alert(flag2);return false;}return false;}分别看看弹出的对话框的值,看看取出来的都是什么结果还有if(flag1&&flag2)如果条件满足就直接执行里面的return false了,程序就截止了按照我的思路再试一试,要有耐心哦,祝你好运!!!

梵蒂冈之花

你写错了呗if(!flage2){var flag2=f2(); 看看有啥区别 (大家来找茬)---------------有那么夸张吗?<html><head><script type="text/javascript">function focus(){var flag1=f1();var flag2=f2();if(flag1&&flag2){window.alert(flag1+flag2);return false;}if(!flag2){window.alert(flag2);return false;}return false;}function f1() {return true;}function f2() {return false;}</script></head><body onload='focus()'></body></html>你用这代码折腾试试
随时随地看视频慕课网APP
我要回答