在 Javascript 中引用 lambda 函数中的常量值,然后使用 chrome.scripting.executeScript

时间:2021-08-01 14:58:57

标签: javascript lambda constants currying partial-application

假设在 Javascript 中我有一个 lambda 函数,它引用了一个在 lambda 函数之外声明的 const 值,

const b = 5;
const fn = () => {console.log(b);};

然后我试图将这个 lambda 函数传递给 chrome.scripting.executeScript,它在从弹出窗口调用的当前选项卡中执行这个函数。

const b = 5;
const fn = () => {console.log(b);};

chrome.scripting.executeScript({
    target: { tabId: currentTab.id },
    func: fn
});

这给了我一个错误:

Uncaught ReferenceError: b is not defined

似乎 lambda 函数正在引用一个名为 b 的变量,然后在当前选项卡中它抱怨,因为它找不到任何名为 b 的变量。我希望在创建 lambda 函数时将常量值 b 嵌入到 lambda 函数中,以便在当前选项卡中调用它时,常量值 b 是已知的。这可能吗?

0 个答案:

没有答案