Я отлаживаю веб-приложение. Javasript в одном окне создает один объект и использует его в качестве аргумента для вызова глобального метода в другом окне. Псевдокод, как показано ниже.
var obj = new Foo();
anotherWin.bar(obj);
В anotherWin аргумент сохраняется в глобальной переменной.
var g_obj;
function bar(obj)
{
g_obj = obj;
...
}
Когда другая функция пытается сослаться на g_obj.Id , выдается исключение " Невозможно оценить выражение ". Это происходит в IE8.0.7600.16385 в Windows 7.
В отладчике Visual Studio, когда возникает это исключение, g_obj отображается как
{...}
Похоже, все его свойства потеряны.
Возможно, основной причиной является то, что объект создается в одном окне, но на него ссылаются только в другом окне. Объект может быть собран в любое время.
Есть ли способ обойти это?