Internet Explorer runs script evaluated using the JavaScript eval() function in the global scope.

So what?

Well, if you're doing something unorthodox, as I'm being obliged to do right now, especially involving third-party controls (over which I have no control), you're eventually going to run into the error above when you try to take a string ontaining JavaScript code returned to you by something else, execute it and get hold of the return value.

Rather than using

var result = eval(someStringContainingSomeJavaScript);

try using

var f = new Function(someStringContainingSomeJavaScript);
var result = f();

or just

var result = new Function(someStringContainingSomeJavaScript)();