我正在尝试通过 Chrome 扩展内容脚本将函数注入网页:
function inject(code) {
    var actualCode = '(' + code + ')();';
    var script = document.createElement('script');
    script.textContent = actualCode;
    (document.head||document.documentElement).appendChild(script);
    script.parentNode.removeChild(script);
}
var myObj = person;  // myObj/person is passed in from elsewhere
var fn = function() {
    alert(myObj.name);
};
inject(fn); // myObj undefined
我的问题是,由于 fn 是一个函数表达式,我不能传入 myObj.personName。所以我的问题是,如何构造一个包含变量的函数表达式?我是否改为进行某种字符串连接?
我还尝试将对象传递给函数,如下所示:
function inject(code, myObj) {
    var actualCode = '(' + code + ')(' + myObj +');';
    ...
但这不起作用,并导致“Uncaught SyntaxError: Unexpected identifier”错误。