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-这并不重要,但当然,让我们使用参数!我同意它没有破坏任何东西,但对于新概念的人来说,它可能会令人困惑/误导。