在我的所有JS文件中,我都有一个JSHint的警告:期望一个赋值或函数调用,而是看到一个表达式。
一个例子:
/*global App, Backbone*/
App.Routers = App.Routers || {};
(function () {
'use strict';
App.Routers.ApplicationRouter = Backbone.Router.extend({
routes: {
'': 'home',
'!/case-projet/:projet(/)': 'projetService',
'!/case-projet/:projet/Galerie(/)': 'galerieService',
'!/case-projet(/)': 'homeEvents',
},
projetService: function (e) {
this.loadView(e), App.activeProjectView.enterFromRouter();
},
galerieService: function (e) {
this.loadView(e), App.activeProjectView.enterGalleryFromRouter();
},
homeEvents: function (e) {
this.loadView(e),
$('html,body').animate({scrollTop: $('.line[data-id="events"]').offset().top}, 2000, 'easeInOutQuint');
},
home: function () {
new App.Views.Homeview();
},
loadView: function (e) {
switch (e) {
case 'Homeview':
App.loadView(new App.Views.Homeview());
break;
case 'Incentive':
App.loadView(new App.Views.Incentive());
break;
case 'Corporate':
App.loadView(new App.Views.Corporate());
break;
case 'Convention':
App.loadView(new App.Views.Convention());
break;
case 'Studio':
App.loadView(new App.Views.Studio());
break;
default:
App.loadView(null);
}
}
});
})();
四个警告 17期望一个赋值或函数调用,而是看到一个表达式。 20期望一个赋值或函数调用,而是看到一个表达式。 24期望分配或函数调用,而是看到一个表达式。 27不要使用新的'副作用
由于
答案 0 :(得分:0)
你还没有说你在哪里得到这些错误,但是在这里你没有充分的理由使用逗号运算符:
this.loadView(e), App.activeProjectView.enterFromRouter();
只是做:
this.loadView(e);
App.activeProjectView.enterFromRouter();
重新new
有副作用,它抱怨这个:
new App.Views.Homeview();
在那里,new
被用于构造一个对象,但是你没有在任何地方保存对象引用(new
表达式的结果)。所以它只用于副作用(在函数中发生的其他事情),这通常不是一个好主意。