我启动了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 )
该脂肪箭头是ES6的特性(现在正式称为的ECMAScript 2015)。它已在Firefox中引入,但尚未在其他浏览器中引入(特别是在V8中尚未完全引入,这对于nodejs / iojs开发很有趣)。
由于它主要是糖,因此最好先使用它。
如果您需要范围绑定(this
在函数调用中以及在定义函数的范围中相同,我们称其为“词法此”),则可以使用
$("#test").on("click", () => {
some code
});
你可以做
$("#test").on("click", (function() {
some code
}).bind(this));
如果不这样做(如您的示例所示),则只需
$("#test").on("click", function() {
console.log("test");
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句