各位好,我定义了个F为全局变量,当checkbox有选择时,F=true,并跳出循环体,结果我在循环体外取不了F值,即使Checkbox有选择,F仍然为false,急死我,我把break去掉,程序运行是成功的,即有选择,F便标记为true,便为什么有break;F便取值失败呢?难道在break之前,true还没赋值给全局变量F吗?急急求救
function DelAllConfirm()
{
var F=false;
var elem=document.Form1.getElementsByTagName("input");
for( var i=0;i<elem.length;i++ )
{
if(elem[i].type.toLowerCase() == "checkbox")
{
if(elem[i].checked==true)
F=true;
break;
}
}
alert("控件id名称:"+F+" name属性");
}
function DelAllConfirm()
{
var F=false;
var elem=document.Form1.getElementsByTagName("input");
for( var i=0;i<elem.length;i++ )
{
if(elem[i].type.toLowerCase() == "checkbox")
{
if(elem[i].checked==true)
F=true;
break;
}
}
alert("控件id名称:"+F+" name属性");
}
for( var i=0;i<6;i++ )
{
if(i==3){
a=false;
break;
}
}
alert("v"+a+"111")没有问题
{
if(elem[i].checked==true)
F=true;
break;
}
等价于
if(elem[i].type.toLowerCase() == "checkbox")
{
if(elem[i].checked==true)
{
F=true;
}
break;
}???
楼主的break;语句在if之外了。你的 if 和 else 语句之间有多条语句。在 if 和 else 之间的语句需要大括号。if(elem[i].checked==true){
F=true;
break;
}
{
语句体;
}
function DelAllConfirm()
{
//var F=false; //定义F为局部变量
var elem=document.Form1.getElementsByTagName("input");
for( var i=0;i<elem.length;i++ )
{
if(elem[i].type.toLowerCase() == "checkbox")
{
if(elem[i].checked==true)
F=true;
break;
}
}
alert("控件id名称:"+F+" name属性");
}
你在函数里再定义了一个F,全域变量被"挡"上了
{
var F=false;
这个F好象不是全局变量把。主要问题
woneinwy(★★★★★★★★★★@しǒひê) ( ) 信誉:100
已经说得很清楚了。