我有一个具有数据参数的CREATETOTOL函数,它返回具有多个字段的对象,我想在返回数据中打印参数,但总是不打印任何东西,如何在返回范围内打印数据参数?
createTool(data){ console.log(data); //print data value correctly return { id: 'sidebar', label: 'SideBar', content: { tagName: 'div', components: [ { script: `console.log(`+ data + `);\n` //print no thing } ] } } }
我不确定我是否理解你的意图,但这里有一个尝试:
function createTool(data){ return { id: 'sidebar', label: 'SideBar', content: { tagName: 'div', components: [ { script: () => { console.log(data); } } ] } } } const test = createTool('Hello, world!'); test.content.components[0].script();
如果您绝对想将函数作为字符串返回(这确实不是一个好主意),下面是如何执行的:
function createTool(data){ return { id: 'sidebar', label: 'SideBar', content: { tagName: 'div', components: [ { script: `console.log(${JSON.stringify(data)});\n` } ] } } } const test = createTool('Hello, world!'); eval(test.content.components[0].script);