{ console.log("test"); }); 这段代码在 -6ren">
gpt4 book ai didi

javascript - 为什么 Google Chrome 不支持这种 JavaScript 语法?

转载 作者:可可西里 更新时间:2023-11-01 01:56:51 29 4
gpt4 key购买 nike

我像这样启动了一个 JavaScript/jQuery 点击监听器:

$("#test").on("click", () => {
console.log("test");
});

这段代码在 Firefox 中工作得很好,但在 Chrome 中这似乎给我一个语法错误。这是为什么,因为这对我来说看起来像是“ok”语法。

您可以通过以下操作在控制台中快速测试它

 var a = () => {return 0;}
a();

在 Firefox 27.0.1 中返回 0在 Chrome 中它返回 SyntaxError: Unexpected token )

最佳答案

粗箭头a feature of ES6 (现在正式称为 ECMAScript 2015)。它已在 Firefox 中引入,但尚未在其他浏览器中引入(尤其是 not completely in V8,这对 nodejs/iojs 开发很有趣)。

因为它主要是糖,所以你最好等一下再用。

如果您需要作用域绑定(bind)(this 在函数调用和定义函数的作用域中是相同的,我们称之为“词法 this” ), 然后代替

$("#test").on("click", () => {
some code
});

你可以简单地做

$("#test").on("click", (function() {
some code
}).bind(this));

如果您不这样做(如您的示例所示),则只需这样做

$("#test").on("click", function() {
console.log("test");
});

关于javascript - 为什么 Google Chrome 不支持这种 JavaScript 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21856772/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com