Jshint.com要求“严格使用”。 这是什么意思?
Jshint.com给出的错误:
第36行:var signin_found; 缺less“使用严格”的陈述。
在js文件的顶部(在.js文件的第1行)添加“use strict”:
"use strict"; ... function initialize_page() { var signin_found; /*Used to determine which page is loaded / reloaded*/ signin_found=document.getElementById('signin_button'); if(signin_found) {
更多关于“使用严格”在另一个问题在这里在计算器:
JavaScript中使用“严格使用”是什么,背后的原因是什么?
UPDATE。
jshint.com有什么问题,它要求你在每个函数中都使用“strict”,但是应该允许为每个文件全局地设置它。
jshint.com认为这是错误的。
"use strict"; function asd() { }
但是没有什么不对
它要求你把“使用严格”的每个function:
function asd() { "use strict"; } function blabla() { "use strict"; }
然后它说:
做得好! JSHint没有发现你的代码有任何问题。
JSHint维护者在这里。
JSHint(网站上使用的版本)要求您在代码中使用function级严格模式。 closures它非常容易,只需要取消选中“代码不是严格模式时发出警告”checkbox:
为什么我们不允许@Czarekbuild议的全球严格模式? 由于您的网页上使用的一些JavaScript文件可能不是我严格模式兼容,全局严格模式将打破该代码。 要使用全局严格模式,有一个选项叫globalstrict
。
希望有所帮助!
我认为它是因为jshint试图“保护”我们免于意外分配严格模式到整个文件。 也可以用匿名函数来包装代码,或者使用一些名称空间。
例如两者都在严格模式下运行:
(function() { "use strict"; function foo() { ..... } function bar() { ..... } }());
JSlint要求您的代码处于“严格模式”
要做到这一点,只需添加"use strict";
到您的代码的顶部。