如何返回eval(code)并使用JavaScript返回对象?

Tim*_* P. 4 javascript eval xmlhttprequest

我有这段代码。我要执行的操作是加载.js文件,然后运行它。当它运行时,我希望它返回一个参数甚至更好的一个对象。

这是我页面中的代码

var runCode = function(){
    var xhr=new XMLHttpRequest();
    xhr.open('GET','io.js',false);
    xhr.send();
    return eval(xhr.responseText);
};
Run Code Online (Sandbox Code Playgroud)

这是is.js

var IO = new function(){
    this.run = true;
    return 'io';
};
return IO
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时,我在控制台中收到“ Uncaught SyntaxError:Illegal return statement”。

And*_*ria 5

我发现的另一种解决方案是将字符串封装eval在函数中,这很简单。

return eval("(function() {" + xhr.responseText + "})();");
Run Code Online (Sandbox Code Playgroud)