从ReferenceError获取对象名称

时间:2013-10-11 19:28:23

标签: javascript

我很好奇是否有办法从捕获的ReferenceError中获取引用对象的名称。 例如:

 try{
     foo;
 } catch(e){
     e.message; // "ReferenceError: foo is not defined"
 }

还有其他财产持有“foo”吗?如果可能的话,我想在ruby中创建像missing_method这样的东西。除了变量访问,所以我不关心丢失args / context。这似乎是一个很大的阻碍者。

1 个答案:

答案 0 :(得分:1)

很好的问题,据我所知(如果你检查一个控制台),ReferenceError对象中没有引用缺少名称的属性/方法。

您可以解析错误消息以提取属性名称。但这很难,因为错误消息可以根据所使用的浏览器进行本地化和不同。虽然,如果您想将它用于开发并控制环境,那么使用Regexp实现它应该相当容易。