整个JS在一个全局变量中?

Nir*_*ana 0 javascript

我有一个创建应用程序的学校作业,其中一个限制是只允许一个全局变量,名为"App".所以我需要将整个JS放在这个变量中.

我想过做的事情:

App = function() { this.test = () => alert("test"); }
Run Code Online (Sandbox Code Playgroud)

然后用它来调用它App.test().

但这不起作用,我得到的错误是:

未捕获的TypeError:App.test不是HTMLLIElement.onclick中的函数(index.html:25)

难道我做错了什么?

Cri*_*par 5

您需要将变量中的应用程序定义为对象,然后您可以使用该对象的成员,例如:

// Object creation
window.App = {};
Run Code Online (Sandbox Code Playgroud)

然后添加更多属性,如函数或变量,稍后在该变量内部使用它.

window.App.test = function() {
   alert('test');
}

window.App.variable = 'my variable';

console.log( App.test() );
console.log( App.variable );
Run Code Online (Sandbox Code Playgroud)

另一件事是,你可以省略字windowApp.