如何获取到alert的的显示值

kentxp 2013-02-17 07:22:14
是这样的
最近在用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
...全文
696 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
未知数 2013-02-18
  • 打赏
  • 举报
回复
alert的显示值是对象ToString方法的返回值 var str = overlays[overlays.length - 1].toString(); 就行了
bbjbepzz 2013-02-18
  • 打赏
  • 举报
回复
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));
diannaomingong 2013-02-18
  • 打赏
  • 举报
回复
谷歌个 javascript dump函数来用
kentxp 2013-02-18
  • 打赏
  • 举报
回复
我需要能够获取到ALERT的显示值 一遍判断对象的类型 而不是显示出来 平时我们alert出来是显示给用户看的 我想要获取到显示信息进行判断对象的类型啊
kentxp 2013-02-18
  • 打赏
  • 举报
回复
6楼说的很正确 还在纠结ALERT内部的实现逻辑 没想到这么简单 哎 JS基础太差了
bbjbepzz 2013-02-17
  • 打赏
  • 举报
回复
写错字了,纠正下 控制台 = 控件台 补充下 for...in的用法如下 for(var i in overlays[overlays.length - 1]){ alert(i); }
bbjbepzz 2013-02-17
  • 打赏
  • 举报
回复
最好的方法就是用google浏览器,console.log(overlays[overlays.length - 1]),然后打开控件台看。 或者用for(var i in overlays[overlays.length - 1])试下。

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧