首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Jshint.com需要“严格使用”。这是什么意思?

Jshint.com需要“严格使用”。这是什么意思?
EN

Stack Overflow用户
提问于 2011-11-13 03:34:16
回答 4查看 56.9K关注 0票数 82

Jshint.com给出了错误:

第36行: var signin_found;缺少"use strict“语句。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-11-13 03:46:16

在js文件的顶部添加"use strict“(在.js文件的第1行):

代码语言:javascript
复制
"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上的另一个问题中,关于“使用严格”的更多信息:

What does "use strict" do in JavaScript, and what is the reasoning behind it?

更新。

jshint.com有点问题,它要求你在每个函数中设置"use strict“,但应该允许它为每个文件全局设置它。

jshint.com认为这是错误的。

代码语言:javascript
复制
"use strict";    
function asd()
{
}

但这并没有什么问题...

它想让你给每个函数都加上"use strict“:

代码语言:javascript
复制
function asd()
{
    "use strict";
}
function blabla()
{
    "use strict";
}

然后它会说:

干得好!JSHint没有发现您的代码有任何问题。

票数 40
EN

Stack Overflow用户

发布于 2011-11-13 07:05:12

这里是JSHint维护者。

JSHint-网站上使用的版本-要求您在代码中使用函数级严格模式。将其关闭非常容易,您只需取消选中“当代码不处于严格模式时发出警告”复选框:

为什么我们不允许@Czarek建议的全局严格模式?因为页面上使用的一些JavaScript文件可能与严格模式不兼容,全局严格模式会破坏该代码。要使用全局严格模式,有一个名为globalstrict的选项。

希望这能有所帮助!

票数 34
EN

Stack Overflow用户

发布于 2013-07-24 21:20:19

我认为这是因为jshint试图“保护”我们避免意外地将严格模式分配给整个文件。此外,使用匿名函数或使用某种名称空间包装代码也很好。

例如,两者都在严格模式下运行:

代码语言:javascript
复制
(function() {

   "use strict";

   function foo() {
        .....
   }

   function bar() {
        .....
   }
}());
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8107000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档