際限なく循環しているライブラリ コードがいくつかあります。
javascript でサイクルの検出と回避を最適に実行する方法がよくわかりません。つまり、オブジェクトが「this」参照からのものかどうかを調べるプログラム的な方法はありません。
これがコードです。ありがとう!
setAttrs: function(config) {
var go = Kinetic.GlobalObject;
var that = this;
// set properties from config
if(config !== undefined) {
function setAttrs(obj, c) {
for(var key in c) {
var val = c[key];
/*
* if property is an object, then add an empty object
* to the node and then traverse
*/
if(go._isObject(val) && !go._isArray(val) && !go._isElement(val)) {
if(obj[key] === undefined) {
obj[key] = {};
}
setAttrs(obj[key], val); // <--- offending code;
// one of my "val"s is a "this" reference
// to an enclosing object
}