在 JavaScript(特别是 NativeScript)中添加全局变量/函数
Posted
技术标签:
【中文标题】在 JavaScript(特别是 NativeScript)中添加全局变量/函数【英文标题】:Adding a global variable / function in JavaScript (specifically NativeScript) 【发布时间】:2015-10-08 17:35:55 【问题描述】:我正在学习如何使用 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 中定义/实例化的,所以它将是全局可见的。然而,似乎并非如此。同时,我不知道该怎么办。
【问题讨论】:
【参考方案1】:使用 全局 命名空间。在您的 app.js 中,代码:
var application = require("application");
application.mainModule = "main-page";
global.myVariable = 'some value';
application.start();
然后,您可以在应用中的任何位置使用 global.myVariable。
【讨论】:
我知道这是旧的,但这有多少不受欢迎? (因为这似乎是共享数据而无需重写所有可观察对象的唯一方法) 我们可以有全局的 observable 和 propertyChangeEvent 吗?以上是关于在 JavaScript(特别是 NativeScript)中添加全局变量/函数的主要内容,如果未能解决你的问题,请参考以下文章