【问题标题】:Loading jQuery inside an ES5 strict mode function在 ES5 严格模式函数中加载 jQuery
【发布时间】:2014-08-12 14:12:33
【问题描述】:

我想在这样的 IIFE 范围内导入 jQuery:

(function (window, document) {
    "use strict";
    /* Content of jquery.min.js goes here */
    /* Code that uses $ goes here */
}(window, document));

现在,只要这段代码运行,我就会遇到严格模式违规,可能是因为 jQuery 本身不符合要求:

在严格模式代码中,函数只能在顶层或 立即在另一个函数中。

有没有办法在单个函数范围内加载 jQuery,同时仍然为依赖它的其余代码保留严格模式?

【问题讨论】:

  • 我意识到可能无法在孤立的范围内加载 jQuery,因为它总是接触 window.jQuery 和 window.$,因此是全局的。

标签: javascript jquery


【解决方案1】:

在这里回答:https://github.com/jquery/jquery/issues/1779

jQuery 并不意味着在“使用严格”的情况下运行。有关原因,请参阅未压缩文件顶部的注释,或查看http://bugs.jquery.com/ticket/13335 了解更多信息。试图强迫 jQuery 进入严格模式并没有得到任何好处,这样做会阻止与任何不兼容 use-strict 的第三方库的互操作性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-18
    • 2016-12-31
    • 2013-10-08
    • 2014-07-24
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    相关资源
    最近更新 更多