当点击每个DIV时,执行myarray()函数;返回数组名等于该DIV的ID值的组数内容。如果该数组不存在则执行另一个语句。
问题是:如果该数组不存在,在FF浏览器下没有反应,不能正常执行这个语句,请帮忙解决一下,谢谢!!<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
</html>
<head> 
<meta http-equiv="Content-Type" content="text/html;charset=utf8" /></head><body><html>   
<head>
<script>window.onload=function(){pikfn()}</script>   
</head>       
<body>   
<script>  
name1=["obj1","obj2"],name2=["obj4","obj5","obj6"],name3=["obj5","obj6","obj7","obj8"];
pik=name1;
function myarray(pik){
if(typeof(pik)!="object"||!pik.length){alert("如果该数组不存在则执行这个");return false}//如果该数组不存在,则执行上面这个语句,但是在FF浏览器下没有反应,不能正常执行这个语句,请帮忙解决一下?
alert(pik.length)
}
myarray(pik)
function pikfn(){
    div=document.getElementsByTagName("div");
    for(var i=0; i<div.length; i++){
        div[i].onclick=function(){
pik=this.id;
        return myarray(eval(pik));//当点击每个DIV时,执行myarray()函数;返回数组名等于该DIV的ID值的组数内容。如果该数组不存在则执行另一个语句。问题是:如果该数组不存在,在FF浏览器下没有反应,不能正常执行这个语句,请帮忙解决一下,谢谢!!
        }
    }
}</script>    
<div id="name1" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>    
<div id="name2" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>        
<div id="name3" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>    
<div id="name4" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>
</body>   
</html></body></html>

解决方案 »

  1.   

    如何检查js变量类型typeof
      

  2.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    </html>
    <head> 
    <meta http-equiv="Content-Type" content="text/html;charset=utf8" /></head><body><html>   
    <head>
    <script>window.onload=function(){pikfn()}</script>   
    </head>       
    <body>   
    <script>  
    name1=["obj1","obj2"],name2=["obj4","obj5","obj6"],name3=["obj5","obj6","obj7","obj8"];
    pik=name1;
    function myarray(pik){
    if(typeof(pik)!="object"||!pik.length){alert("如果该数组不存在则执行这个");return false}//如果该数组不存在,则执行上面这个语句,但是在FF浏览器下没有反应,不能正常执行这个语句,请帮忙解决一下?
    alert(pik.length)
    }
    myarray(pik)
    function pikfn(){
        div=document.getElementsByTagName("div");
        for(var i=0; i<div.length; i++){
            div[i].onclick=function(){
            pik=this.id;
            if(!window[pik]) pik = "";
            return myarray(eval(pik));//当点击每个DIV时,执行myarray()函数;返回数组名等于该DIV的ID值的组数内容。如果该数组不存在则执行另一个语句。问题是:如果该数组不存在,在FF浏览器下没有反应,不能正常执行这个语句,请帮忙解决一下,谢谢!!
            }
        }
    }</script>    
    <div id="name1" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>    
    <div id="name2" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>        
    <div id="name3" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>    
    <div id="name4" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>
    </body>   
    </html></body></html>
      

  3.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    </html>
    <head> 
    <meta http-equiv="Content-Type" content="text/html;charset=utf8" /></head><body><html>   
    <head>
    <script>window.onload=function(){pikfn()}</script>   
    </head>       
    <body>   
    <script>  
    name1=["obj1","obj2"],name2=["obj4","obj5","obj6"],name3=["obj5","obj6","obj7","obj8"];
    pik=name1;
    function myarray(pik){
    if(typeof(pik)!="object"||!pik.length){
    alert("如果该数组不存在则执行这个");
    return false
    }
    alert(pik.length)
    }
    myarray(pik)
    function pikfn(){
        div=document.getElementsByTagName("div");
        for(var i=0; i<div.length; i++){
            div[i].onclick=function(){
    pik=this.id;
    try
    {
    pik = eval(pik);
    }
    catch (e)
    {
    pik = "undefined"
    }
    return myarray(eval(pik));
            }
        }
    }</script>    
    <div id="name1" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>    
    <div id="name2" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>        
    <div id="name3" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>    
    <div id="name4" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>
    </body>   
    </html></body></html>
      

  4.   

    采用构造函数检查最安全,两种:
    typeof
    constructor