Ecmascript 6 ES6如果处于箭头功能中
为什么Ecmascript 6 ES6如果处于箭头功能中,ecmascript-6,Ecmascript 6,为什么 $(input).on('keypress', e=> if (e.which == 13) $(btn).trigger('click')); 不起作用?我得到SyntaxerError:如果 $(输入).on('keypress',e=>{if(e.which==13)$(btn).trigger('click');})工作正常第一种语法 $(input).on('keypress', e=> if (e.which == 13) $(btn).trigger('cli
$(input).on('keypress', e=> if (e.which == 13) $(btn).trigger('click'));
不起作用?我得到SyntaxerError:如果
$(输入).on('keypress',e=>{if(e.which==13)$(btn).trigger('click');})代码>工作正常第一种语法
$(input).on('keypress', e=> if (e.which == 13) $(btn).trigger('click'));
相当于
$(input).on('keypress', function (e) {
return if (e.which == 13) $(btn).trigger('click')
^^^^^^
});
由于这是无效语法,将引发错误
而第二个代码是语法
$(input).on('keypress', e => {
if (e.which == 13) $(btn).trigger('click');
});
是正确的,因此它是有效的
当函数体包含多个语句时,我建议不要使用箭头函数语法。第一种语法
$(input).on('keypress', e=> if (e.which == 13) $(btn).trigger('click'));
相当于
$(input).on('keypress', function (e) {
return if (e.which == 13) $(btn).trigger('click')
^^^^^^
});
由于这是无效语法,将引发错误
而第二个代码是语法
$(input).on('keypress', e => {
if (e.which == 13) $(btn).trigger('click');
});
是正确的,因此它是有效的
当函数体包含多个语句时,我建议不要使用箭头函数语法。您可以使用逻辑and作为if条件的简写
$(input).on('keypress', e => (e.which == 13) && $(btn).trigger('click'));
您可以使用逻辑and作为if条件的简写
$(input).on('keypress', e => (e.which == 13) && $(btn).trigger('click'));
请注意,来自jQuery事件处理程序的return
ingfalse
具有特殊的语义。我认为它们在这里不受欢迎。请注意,来自jQuery事件处理程序的return
ingfalse
具有特殊的语义。我认为他们在这里不会受到感激。