The faulty assumption is that in strict mode all global variables are disallowed. Actually only undefined global variables throw an error. (In fact you basically couldn't do anything at all if you couldn't use any global variables. There has to be at least something in the global scope.)
For example:
"use strict";
var a = "foo";
var b;
(function() {
a = "bar"; // this is ok, initialized earlier
b = "baz"; // this is also ok, defined earlier
c = "qux"; // this is not, creating an implicit global
})();
Using variables a
or b
is not a problem, but c
will throw an error. There should be no problems using the eventApp
variable in your example.