jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了“严格使用”; jQuery.getScript()= script无法导出到全局命名空间大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有以下脚本,名为include_Strict.js.执行后我应该定义window.global1:

"use Strict";

var globalVar = {};
alert(typeof window.globalVar);

但是,如果我从一个javascript块包含它

$.getScript("include_Strict.js");

警报说未定义.为什么?这里发生了什么?

仅供参,如果我使用脚本标记包含文件,那就不会发生这种情况:

<script type="text/javascript" src="include_Strict.js"></script>

在这里,我看到预期的警报,对象.如果我删除“use Strict”;,那么jQuery.getScript()和< script&gt ;;具有相同的显示对象的效果. 我已经创建了一个示例(https://docs.google.com/file/d/0B-XXu97sL1Ckb0x0OHptTmVMY00/edit)来演示这一点.

解决方法

它使用$.getScript(),它使用eval来执行脚本,该脚本无法在严格模式下修改全局范围:

资料来源:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Functions_and_function_scope/Strict_mode

解决方案不是使用jQuery加载脚本,而是将脚本元素附加到DOm.请注意,您甚至无法使用jQuery追加元素;它将自动使用$.getScript().

大佬总结

以上是大佬教程为你收集整理的“严格使用”; jQuery.getScript()= script无法导出到全局命名空间全部内容,希望文章能够帮你解决“严格使用”; jQuery.getScript()= script无法导出到全局命名空间所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。