JavaScript Validator 一直在说关于第 11 行的意外“如果”,我不知道为什么
JavaScript Validator keeps saying Unexpected 'if' regarding line 11, and I can't figure out why
当我使用 http://codebeautify.org/jsvalidate 验证下面的代码时,它一直说第 11 行
if ($('#s4-bodyContainer').hasScrollBar().horizontal) {
是 - 意想不到的"如果" - 我不知道如何解决它。 这是完整的代码。 我将其放在 SharePoint 母版页的底部,以解决在某些屏幕上显示宽表的问题,这些表格已扩展到品牌页眉和页脚之外。 这段代码应该做的是检测浏览器窗口中是否有水平滚动条。 如果是这样,那么它将一些类添加到一些div 标签中以解决问题。
(function($) {
"use strict";
$.fn.hasScrollBar = function() {
var e = this.get(0);
return {
horizontal: e.scrollWidth > e.clientWidth
};
}
if ($('#s4-bodyContainer').hasScrollBar().horizontal) {
// has scrollbar so add some classes
($("#s4-bodyContainer").addClass("ecs-absolute"));
($("#s4-workspace").addClass("ecs-relative"));
});
尝试在
hasScrollBar
的定义后添加分号 ;
。外部功能周围也有不匹配的大括号。这对我有用:
(function ($) {
"use strict";
$.fn.hasScrollBar = function () {
var e = this.get(0);
return {
horizontal: e.scrollWidth > e.clientWidth
};
}; // <-- added a semicolon here
if ($('#s4-bodyContainer').hasScrollBar().horizontal) {
// has scrollbar so add some classes
($("#s4-bodyContainer").addClass("ecs-absolute"));
($("#s4-workspace").addClass("ecs-relative"));
}
})(); // <-- fixed up your IIFE here
你确实有一个语法错误。你不应该在if
之后);
.您可能打算拥有以下内容:
if ($('#s4-bodyContainer').hasScrollBar().horizontal) {
// has scrollbar so add some classes
($("#s4-bodyContainer").addClass("ecs-absolute"));
($("#s4-workspace").addClass("ecs-relative"));
}
}); // <-- Closes off the IIFE
但是您可能还想调用该 IIFE,因此将最后一行更改为:
})(jQuery); // <--- Closes off IIFE
修复此问题后,您的代码完全有效。
函数赋值后缺少分号:
$.fn.hasScrollBar = function() {
var e = this.get(0);
return {
horizontal: e.scrollWidth > e.clientWidth
};
}; // <<<<< here!
自动执行函数的闭包应该没问题。 我更喜欢这种形式:
fn = ( function () { ... }( jQuery ) );
这将传递 jslint。 我建议你使用它而不是在线验证器。
$ sudo npm install -g jslint
相关文章:
- 如果 a 为 false,则 if(a) === if(false)
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 分析高度属性时出现意外值{{specs.height}}.index.html
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 铬:“;未捕获的语法错误:意外的标记:"
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 如果href包含X,请更改href
- Javascript未捕获语法错误意外的标识符错误
- 如果localstorage为空,则显示欢迎消息
- 点击后隐藏潜水?(但如果Div是一面旗帜呢?)
- 如果元素's的ID以数字开头
- 如果出现意外行为
- JavaScript Validator 一直在说关于第 11 行的意外“如果”,我不知道为什么
- 基本的JavaScript,如果给出意外的输出,则有多个其他
- 未捕获的SyntaxError:如果存在脚本标记,控制台中会出现意外的令牌
- Nodejs-Mysql:"SyntaxError:意外的输入结束“;如果查询包含'其中'
- 未捕获的SyntaxError:如果属性中使用了print,则意外标识符
- 语法错误:意外的令牌如果