在 JavaScript 中添加全局变量/函数(特别是 NativeScript)

Adding a global variable / function in JavaScript (specifically NativeScript)

我正在学习如何使用 NativeScript 编写应用程序。我相信最好的学习方法是边做边做。出于这个原因,我正在构建一个基本的应用程序。

在这个应用程序中,我尝试创建一个函数和一个变量,我可以跨应用程序中的所有视图模型和其他代码访问它们。为了尝试这样做,我想我会在应用程序对象上添加一个函数和变量。

在 NativeScript 中,应用程序使用以下代码初始化:

app.js

var application = require("application");
application.mainModule = "main-page";
application.start();

我想我可以利用它并添加一个全局可见的函数和变量,如下所示:

application.prototype.myFunction = function() {
  console.log('I made it!');
};
application.myVariable = 'some value';

然后,在我的视图模型或其他代码中,我可以执行如下操作:

views/home.js

application.myFunction();
console.log(application.myVariable);

但是,当我 运行 这段代码时,我收到一条错误消息,指出应用程序未定义。我不完全理解这一点。我认为因为应用程序在 app.js 中是 defined/instantiated,所以它是全局可见的。然而,似乎并非如此。同时,我也不知道该怎么办。

使用全局命名空间。在您的app.js中,代码:

var application = require("application");
application.mainModule = "main-page";

global.myVariable = 'some value';

application.start();

然后您可以在应用中的任何位置使用 global.myVariable