如何检测圆形结构?

例如,这段代码:
var a = {};
a.a = a;
JSON.stringify(a);
将投掷:
TypeError: Converting circular structure to JSON
我的问题是,如何检测圆形结构?     
已邀请:
Crockford的JSON实现就是这样做的。看起来它只是在遍历对象图时保留一个列表。代码很容易理解。     
这是使用本机JSON检测的功能
function isCircular (d) {
  try {JSON.stringify(d)}
  catch (e) {return true}
  return false
}
    

要回复问题请先登录注册