Tag: use strict

Javascript / jsLint:当使用“use strict”时,用什么替换jQuery(this);

当我使用jslintvalidation以下代码时,我收到以下错误。 function displayMegaDropDown() { “use strict”; var liMegaPosition, divMegaOffset; liMegaPosition = jQuery(this).position(); divMegaOffset = { top: liMegaPosition.top + jQuery(this).height(), left: liMegaPosition.left }; jQuery(this).find(“div”).offset(divMegaOffset); jQuery(this).addClass(“hovering”); } 第4行第29个问题:严格违规。 liMegaPosition = jQuery(this).position(); 第5行第56个问题:严格违规。 divMegaOffset = { top: liMegaPosition.top + jQuery(this).height(), left: liM… 第6行第12个问题:严格违规。 jQuery(this).find(“div”).offset(divMegaOffset); 第8行问题12:严格违规。 jQuery(this).addClass(“hovering”); 我猜这是因为使用了jQuery(这个),但我不明白要用什么替换它。 请注意,这不是因为jQuery未声明为全局。

“严格使用”; + jQuery.getScript()= script无法导出到全局命名空间

假设我有以下脚本,名为include_strict.js 。 执行后我应该定义window.global1 : “use strict”; var globalVar = {}; alert(typeof window.globalVar); 但是,如果我从一个javascript块包含它 $.getScript(“include_strict.js”); 警报说undefined 。 为什么? 这里发生了什么? 仅供参考,如果我使用脚本标记包含文件,那就不会发生这种情况: 在这里,我看到预期的警报, object 。 如果我删除”use strict”; ,然后是jQuery.getScript()和; 具有相同的显示object效果。 我已经创建了一个示例( https://docs.google.com/file/d/0B-XXu97sL1Ckb0x0OHptTmVMY00/edit )来演示这一点。