Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “设置”;使用“严格的”;对于插件_Javascript_Module - Fatal编程技术网

Javascript “设置”;使用“严格的”;对于插件

Javascript “设置”;使用“严格的”;对于插件,javascript,module,Javascript,Module,我正在编写一个JavaScript软件,它能够加载插件并与之协同工作 这些插件也可以由其他用户编写 现在我想修改我的插件管理器,它为所有模块设置了“use strict”-选项-这可能吗 这是插件当前的编写方式: "use strict"; //I want to add this command automatically by the plugin-manager window.pluginName = { "version": "0.1", "attribute": fu

我正在编写一个JavaScript软件,它能够加载插件并与之协同工作

这些插件也可以由其他用户编写

现在我想修改我的插件管理器,它为所有模块设置了
“use strict”
-选项-这可能吗

这是插件当前的编写方式:

"use strict";  //I want to add this command automatically by the plugin-manager
window.pluginName = {
    "version": "0.1",
    "attribute": function(){},
    ...
}
插件加载方式:

"use strict";  //I want to add this command automatically by the plugin-manager
window.pluginName = {
    "version": "0.1",
    "attribute": function(){},
    ...
}
我向js文件(其中包含一个插件)发出ajax请求。文件准备好后,我通过“
var newPlugin=window[pluginName];
访问它


是否可以自动使用严格模式,或者我必须依赖插件编写器使用此标志进行调试?

严格模式是在变量范围中定义的,因此为每个插件设置“使用严格”的唯一方法是将声明性放在顶部的函数中,或者放在包含所有插件定义的某个函数中


影响所有插件的唯一其他方法是全局定义它,这不是一个好主意,除非您完全确定将运行的所有JavaScript都将在严格模式下正常工作。

我的插件当前在文件开头定义为“全局”。它是否也会影响其他包含的js文件,还是仅限于自己的文件?此外,如果我在文件的中间定义它,它还会影响以前的代码吗?如果它们是单独的脚本,那么<代码>使用严格的只会影响一个脚本,即使它是全局的。我不知道你说的“在文件中间”是什么意思。声明性语句需要位于函数的顶部或文件的顶部。它应该是该函数或文件中执行的第一条语句。函数可能在文件的中间,而<代码>使用“严格”只会影响函数的作用域。