是这样的
最近在用BAIDU的地图JS API搞些东西我在对一个对象进行alert(overlays[overlays.length - 1])
时  网页上显示[object Ployline]
这里的Ployline实际上是这个对象的类型,就是地图上的线
同时地图上还有点等其他对象
我想通过判断alert的显示值进行对象类型的判断来再进一步获取属性但是alert的显示值我如何在代码上获取到呢
我试过了其他方法
Object.prototype.toString.call(overlays[overlays.length - 1])
显示的是[object object ]
typeof()
显示的是object

解决方案 »

  1.   

    最好的方法就是用google浏览器,console.log(overlays[overlays.length - 1]),然后打开控件台看。
    或者用for(var i in overlays[overlays.length - 1])试下。
      

  2.   

    写错字了,纠正下
    控制台 = 控件台
    补充下
    for...in的用法如下
    for(var i in overlays[overlays.length - 1]){
        alert(i);
    }
      

  3.   

    我需要能够获取到ALERT的显示值  一遍判断对象的类型
    而不是显示出来平时我们alert出来是显示给用户看的
    我想要获取到显示信息进行判断对象的类型啊
      

  4.   

    谷歌个 javascript dump函数来用
      

  5.   

    alert是没有返回值的,所以获取不到。你用下面的getType方法试下
    function Person(name,age){
      this.name = name;
      this.age = age;
    }
    Person.prototype = {
      showName : function(){
        return this.name;
      }
    }
    Person.prototype.constructor = Person;
    var p = new Person();
    function getType( obj ) {
      var fName = obj.constructor.toString();  
      fName = fName.match(/function[\s*]?(.*)\(.*\)/);
      if(fName[1]){    
        return '[object '+fName[1]+']'
      }
    }
    alert(getType(p));
      

  6.   

    alert的显示值是对象ToString方法的返回值
    var str = overlays[overlays.length - 1].toString();
    就行了
      

  7.   

    6楼说的很正确  
    还在纠结ALERT内部的实现逻辑
    没想到这么简单
    哎  JS基础太差了