JSHint 错误 - 需要赋值或函数调用,但看到的是表达式
为什么以下代码会触发“预期是赋值或函数调用,但却看到了表达式”。在 JSHint 中?我认为这是在未定义特定变量或变量的情况下保护块不被执行的正确方法......
!function($) {
"use strict";
// jQuery-based code here
$('.test').show();
}(window.jQuery);
Why does the following code trigger "Expected an assignment or function call and instead saw an expression." in JSHint? I thought this was the correct way to protect a block from executing if a particular variable or variables are not defined...
!function($) {
"use strict";
// jQuery-based code here
$('.test').show();
}(window.jQuery);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
更换!在整个调用的函数前面加上括号(例如
(function(a,b){}("a","b"))
),一切都应该很好。这促使我问为什么它首先存在,因为该函数没有返回值。任何表达式(与赋值相反)都会由 JSHint 使用您引用的消息进行标记。
Replace the ! in front of function with parens around the entire call (e.g.
(function(a,b){}("a","b"))
) and all should be well. Which prompts me to ask why it is there in the first place since the function returns no value.Any expression, as opposed to assignment, is flagged by JSHint with the message you quote.