x=new Array(45,796,933); if(x.constructor == Array){ 
  alert('xx');

解决方案 »

  1.   

    你的用法没错,需要根据native再进一步判断的
      

  2.   

    constructor 是返回创建对象的函数
    x=Array(45,796,933); 并不是创建数组的格式
      

  3.   

    最好的方法是使用 
    alert(x instanceof Array);来判断
      

  4.   

    x=Array(45,796,933); 
    if(Array.prototype.isPrototypeOf(x)){
       alert('XX');
    }建议使用原型来判断,使用isPrototypeOf函数
    帮助说明:isPrototypeOf 方法
    返回一个布尔值,指出对象是否存在于另一个对象的原型链中。
    object1.isPrototypeOf(object2)
    参数
    object1必选项。一个对象的实例。object2必选项。另一个对象,将要检查其原型链。说明
    如果 object2 的 原型链中包含object1,那么 isPrototypeOf 方法返回 true。原型链可以用来在同一个对象类型的不同实例之间共享功能。如果 object2 不是一个对象或者 object1 没有出现在 object2 中的原型链中,isPrototypeOf 方法将返回 false。示例
    以下示例阐述了 isPrototypeOf 方法的用法。function test(){
      var re = new RegExp();                        //初始化变量。
      return (RegExp.prototype.isPrototypeOf(re));  //返回 true。
    }
      

  5.   

    谢谢各位回答  你们的办法都可以判断数组  现有分数送楼上各位 今天发现 问题不是出在判断上..   我是在iframe里调用的父页面的函数 像这样:
    function test(x){
       if(x.constructor == Array || Array.prototype.isPrototypeOf(x)){
        alert('xx');
      }else{
        alert('无法理解');
      }
    }
    <iframe> parent.test(Array(456,789));</iframe>弹出无法理解   请指教   另加20分
      

  6.   

    顺便问下 Json类型如何判断?
      

  7.   

    发表于:2008-10-30 10:03:497楼 得分:0
    谢谢各位回答  你们的办法都可以判断数组  现有分数送楼上各位今天发现 问题不是出在判断上..  我是在iframe里调用的父页面的函数 像这样:
    function test(x){
      if(x.constructor == Array || Array.prototype.isPrototypeOf(x)){
        alert('xx');
      }else{
        alert('无法理解');
      }
    }
    <iframe> parent.test(Array(456,789)); </iframe>弹出无法理解  请指教  另加20分
      

  8.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="zourinet">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="Net Js css ">
     </HEAD> <BODY>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
    //var x=Array(45,796,933); 
    var x = new Array();alert(x.constructor); 
    alert(x.constructor==Array); 
    if(x.constructor==Array)alert('array');
      //-->
      </SCRIPT>
     </BODY>
    </HTML>
    可以啊,
      

  9.   

    因为你的X是数组,所以就进入if语句块了,不会进入else啊。