javascript";严格的;以及实例化全局模块
我想javascript";严格的;以及实例化全局模块,javascript,design-patterns,Javascript,Design Patterns,我想“严格使用”模式,但在严格警告方面存在一些问题。 我有一个“小部件”,例如: 在我这样使用它之前(在模块内): 当我添加时,“使用严格”在此上下文中,我收到一条警告,提示未定义“小部件”: (function () { "use strict"; var w1 = new Widget(); // <- warning here }()); (函数(){ “严格使用”; var w1=new Widget();//在严格模式下,您不能意外创建全局变量。正如您
“严格使用”模式,但在严格警告方面存在一些问题。
我有一个“小部件”,例如:
在我这样使用它之前(在模块内):
当我添加时,“使用严格”
在此上下文中,我收到一条警告,提示未定义“小部件”
:
(function () {
"use strict";
var w1 = new Widget(); // <- warning here
}());
(函数(){
“严格使用”;
var w1=new Widget();//在严格模式下,您不能意外创建全局变量。正如您所注意到的,尝试创建全局变量将引发引用错误。因此,您需要命名一个对象,该对象已分配Widget
:
window.Widget = function () { /* ... */ }
(function () {
"use strict";
var w1 = new window.Widget();
}());
更多信息:,谢谢@Teemu。如果您将此作为答复添加,我可以接受它来解决问题。顺便说一句,我认为您在声明window.Widget时不需要var
(它会抛出错误)。
(function () {
"use strict";
var w1 = new Widget(); // <- warning here
}());
window.Widget = function () { /* ... */ }
(function () {
"use strict";
var w1 = new window.Widget();
}());