Jshint.com requires “use strict”. What does this mean?
本问题已经有最佳答案,请猛点这里访问。
jshint.com是给的误差:
Line 36: var signin_found; Missing"use strict" statement.
在JS文件的顶部添加"use strict"(在.js文件的第1行):
1 2 3 4 5 6 7 8 9 | "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) { |
有关StackOverflow的另一个问题中"使用严格"的详细信息:
在JavaScript中,"使用严格"是做什么的,它背后的推理是什么?
更新。
jshint.com有问题,它要求您在每个函数中放置"use strict",但应该允许它为每个文件全局设置它。
jshint.com认为这是错误的。
1 2 3 4 | "use strict"; function asd() { } |
但是没有什么问题…
它希望您对每个函数都使用"严格的":
1 2 3 4 5 6 7 8 | function asd() { "use strict"; } function blabla() { "use strict"; } |
然后说:
Good job! JSHint hasn't found any problems with your code.
这里是JShint维护人员。
JShint网站上使用的版本要求您在代码中使用函数级严格模式。很容易将其关闭,只需取消选中"代码未处于严格模式时发出警告"复选框:
为什么我们不允许@czarek建议的全球严格模式?因为您页面上使用的一些javascript文件可能不是严格模式兼容,而全局严格模式将破坏该代码。要使用全局严格模式,有一个名为
希望有帮助!
我认为这是因为jshint试图"保护"我们不被意外地将严格模式分配给整个文件。而且用匿名函数包装代码,或者使用某种名称空间也是很好的。
例如,严格模式下的两种功能:
1 2 3 4 5 6 7 8 9 10 11 12 | (function() { "use strict"; function foo() { ..... } function bar() { ..... } }()); |
jslint要求代码处于"严格模式"
要做到这一点,只需在代码顶部添加