当您收到消息"对象不支持此属性或方法"时,您如何找到"对象"是什么?

Dav*_*den 10 javascript internet-explorer object

当您收到IE错误消息"对象不支持此属性或方法"时,您如何弄清楚"对象"是什么?总是一样的吗?如果没有,有没有办法使用诊断工具或控制台来弄清楚它是什么?

jim*_*mbo 10

要获取IE的调试信息,您必须启用脚本调试:

  1. 在Internet Explorer中,从"工具"菜单中选择"Internet选项".
  2. 在"Internet选项"对话框中,单击"高级"选项卡.
  3. 在"高级"选项卡上的"浏览"下,清除"禁用脚本调试".
  4. 单击确定.

http://msdn.microsoft.com/en-us/library/ms241741%28v=vs.80%29.aspx

如果您使用IE 8或更高版本,则可以使用他们的开发人员工具进行调试:

http://msdn.microsoft.com/en-us/library/dd565625%28v=vs.85%29.aspx

  • 谢谢!这真的取决于问题所在.只要你有foo.bar()并且'foo'不是一个对象,或者没有'bar'属性,就会发生你看到的错误.例如,如果foo未定义或为null,或者'this'不是您期望的对象('this'默认为IE中事件处理程序的'window'),则会发生这种情况.鉴于可获得的信息,这些是我最好的猜测.调试工具应该指向导致问题的行. (2认同)