为什么箭头功能在 chrome 扩展内容脚本中不起作用?
Why arrow function is not working in chrome extension content script?
在我的 chrome 扩展的内容脚本中,以下代码不起作用:
var myFunction = () => {
console.log("sending msg");
chrome.runtime.sendMessage({ action: "myAction" });
}
但是当我将箭头函数转换为经典 JS 函数时,它起作用了。
function myFunction() {
console.log("sending msg");
chrome.runtime.sendMessage({ action: "myAction" });
}
为什么箭头功能不起作用?
我猜你遇到了提升问题。常规函数调用可以在代码中的任何位置,而 const myFunction = ...
只能在其声明后调用。
工作代码示例:
myFunction();
function myFunction() {
console.log('Yay');
}
失败代码示例:
myFunction(); // TypeError, myFunction is undefined at this point
var myFunction = () => console.log('Yay');
在我的 chrome 扩展的内容脚本中,以下代码不起作用:
var myFunction = () => {
console.log("sending msg");
chrome.runtime.sendMessage({ action: "myAction" });
}
但是当我将箭头函数转换为经典 JS 函数时,它起作用了。
function myFunction() {
console.log("sending msg");
chrome.runtime.sendMessage({ action: "myAction" });
}
为什么箭头功能不起作用?
我猜你遇到了提升问题。常规函数调用可以在代码中的任何位置,而 const myFunction = ...
只能在其声明后调用。
工作代码示例:
myFunction();
function myFunction() {
console.log('Yay');
}
失败代码示例:
myFunction(); // TypeError, myFunction is undefined at this point
var myFunction = () => console.log('Yay');