Javascript 原型中的全局变量?

Javascript 原型中的全局变量?,javascript,jquery,Javascript,Jquery,如何以原型方式设置和访问全局变量 var app; (function(){ "use strict"; var App = function() { }; App = App; }(window)); $(function() { app = new App(); }); 当您使用严格模式时,IIFE中的this的值不是窗口,它可能是未定义的,因此App不是真正的全局值 如果您明确地将其设置为全局,那么它应

如何以原型方式设置和访问全局变量

var app;

(function(){
    "use strict";
    var App = function() {

    };
    App = App;
}(window));

$(function() {                    
    app = new App();
});

当您使用严格模式时,IIFE中的
this
的值不是窗口,它可能是
未定义的
,因此
App
不是真正的全局值

如果您明确地将其设置为全局,那么它应该会起作用

var app;

(function (w) {
    "use strict";

    w.App = function () {

    };

}(window));

$(function () {
    app = new App();
});


如果您没有使用严格模式,您可以删除
var
关键字

我不认为
App=App
正在做您认为应该做的事情
window.App=App
可能就是您想要的。谢谢,但我如何设置全局var?通过这样做
window.yourGlobalVar=您希望全局访问的值
。您试图设置/访问哪个变量?@Matt:iLife与此无关。它不会改变从函数中创建全局函数的方式。最重要的是OP需要在询问之前进行搜索。有人问过这个问题,这并不奇怪,因为创建一个全局变量并不少见。要解决这个问题,您可能需要停止将
窗口
传递给IIFE,或者为参数指定一个名称。@Matt-这并不重要,但当然,让我们使用参数!我同意它没有破坏任何东西,但对于新概念的人来说,它可能会令人困惑/误导。