关键字函数在以下代码中是必需的:
keyword function is necessary in the following codes:
我的主干视图:
module.exports = Backbone.View.extend({
tagName: 'div',
events: {
'click #saveReportBtn': '_handleSaveReport',
'click #saveQuery': '_handleSaveQuery',
'keydown #queryToolbar': '_enter',
},
_enter( event ) {
console.log('event target:', + event.target.name + ', ' + event.currentTarget.name); // eslint-disable-line no-console
},
...
一些人建议使用:
_enter: function ( event ) {
console.log('event target:', + event.target.name + ', ' + event.currentTarget.name); // eslint-disable-line no-console
},
但它似乎在没有函数关键字的情况下工作,我的esint抱怨道:
src/myfile.js
100:11 warning Missing function expression name func-names
✖ 1 problem (0 errors, 1 warning)
有什么遗漏吗?感谢
您使用的简写:
_enter( event ) {
console.log('event target:', + event.target.name + ', ' + event.currentTarget.name); // eslint-disable-line no-console
}
是ES2015(ES6)的简写,这就是为什么esint没有抱怨的原因。看见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Method_definitions
具体而言:
注意:简写语法使用命名函数而不是匿名函数(如…foo:function(){}…)。
尝试在分配中添加函数名。(http://eslint.org/docs/rules/func-names)
_enter: function _enter( event ) {
console.log('event target:', + event.target.name + ', ' + event.currentTarget.name); // eslint-disable-line no-console
}
拥有命名函数,而不是浮动的匿名函数,确实有助于调试过程和更明确的堆栈跟踪
相关文章:
- 如何将函数包装在函数中以避免代码重复
- 从var向代码隐藏函数传递值
- Angularjs代码未在匿名函数中运行
- 输入字段验证的键代码函数在chrome中没有按预期工作
- 将两个云代码函数合并为一个函数
- 这个JavaScript代码(函数)有什么问题
- 解析之前保存()云代码函数不起作用
- 是否可以从云中调用 Parse 定义的云代码函数
- chrome、firefox、ie11中的基本html代码函数,但不是ie9
- 未定义从php代码函数调用javascript函数
- 云代码函数运行两次
- 反转jQuery代码函数
- Javascript代码——函数ToppingsWanted()有什么问题?
- 在javascript中反映本机代码函数参数
- 如何使用Javascript SDK调用带有参数的云代码函数
- 从一个云代码函数返回多个值
- 在AngularJs中使用遗留代码函数
- Javascript代码函数解释
- JavaScript和Cloud代码函数,共享相同的var
- 解析从另一个云代码函数中调用云代码函数的Javascript