首页 > 解决方案 > 将字符串转换为函数但首先评估变量

问题描述

假设我执行以下操作:

  const
    externalVal = 'something',
    fn = () => {
      console.log(externalVal)
    })

  console.log(fn.toString())

控制台日志将对函数进行字符串化,具体而言,console.log(externalVal)将被字符串化。

有什么方法可以让功能块转换为字符串但包含的externalVal所以它会像:console.log('something')

原因是我无法通过浏览器扩展内容脚本访问页面窗口对象,但我可以将脚本注入文档并运行它 - 除非我也可以传入值,否则这并没有多大帮助。

澄清一下,我知道我可以通过注入脚本来访问窗口对象。这就是这个问题的目的,因为我需要将一个值传递给该脚本并将函数转换为字符串并不是评估变量的值。

标签: javascriptgoogle-chrome-extensionbrowser-extension

解决方案


推荐阅读