【问题标题】:Missing "Use strict" statement缺少“使用严格”声明
【发布时间】:2016-01-16 15:29:50
【问题描述】:

我是编码新手。我在我的 Javascript 代码中收到此错误:“缺少“使用严格”语句”。 这是我的代码:

$(function(){
    $('.nav-toggle').on('click',function(){

        $('.main-nav').toggleClass('open');
    });
});

我不知道把'use-strict';放在哪里。 我把声明放在哪里?

【问题讨论】:

  • 这是可选的,它不会导致错误。
  • 你不需要前导 $。
  • @Mathemats 是的,他这样做了,这就是您在 jQuery document.ready 处理程序中运行代码的方式。
  • 这不是 JavaScript 错误,而是 linter 错误。

标签: javascript


【解决方案1】:

正如 Barmar 所说,use strict 是可选的,但如果你必须把它放在某个地方,我会说你应该把它放在最好的地方

$(function(){
    "use strict";
    $('.nav-toggle').on('click',function(){

        $('.main-nav').toggleClass('open');
    });
});

无论你使用 Jquery 还是 Javascript,这都是你必须放置的地方

【讨论】:

  • 糟糕,我忘了加分号,确保你的 "use strict"; 是这样的,而不是我写的
  • 对不起,你的名字拼错了@Barmar,我现在没戴眼镜,对我来说有点模糊
  • 您可以编辑自己的答案来修复您想要修复的任何内容。我为你添加了分号。
  • 好的,谢谢,我不戴眼镜犯了太多拼写和语法错误,我什至没有看到编辑按钮
【解决方案2】:

(function($){
    "use strict";
    $('.nav-toggle').on('click',function(){

        $('.main-nav').toggleClass('open');
    });
})(jQuery);
.open{
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div>
  <button class="nav-toggle">Open</button>
  <div class="main-nav">
    <ul>
      <li>Home</li>
      <li>Contact</li>
    </ul>
  </div>
</div>

假设您想要实现响应式导航栏效果,我添加了相关代码以使其更容易。

在 jQuery 部分,我创建了一个匿名函数并将$ 符号传递给它,这样您就可以安全地使用它而不会污染全局范围。 "use strict" 使用不是强制性的,但如果您想使用,请像我一样将其放在匿名函数中。

【讨论】:

  • 这如何解决原问题提出的问题?
  • 是的,我正在制作一个响应式导航菜单 :)
猜你喜欢
  • 2016-02-09
  • 2016-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-04
  • 2013-07-11
  • 2013-11-13
  • 1970-01-01
相关资源
最近更新 更多