如何从一个javascript文件访问/获取变量到另一个javascript文件。 像first.js包含一个函数first.js,如下所示。
this.first = function(){
var x = ['new','old']
}
现在,我想访问另一个文件中的'x',说second.js 我试过了
var first = require('../first.js'); //path to the first.js file
console.log(first.x)
但获得未定义的值。 我想从first.js获取/访问'x' 我正在使用它来进行使用页面对象的量角器E2E测试。
答案 0 :(得分:2)
函数/变量的js文件无关紧要。解析后,它们都属于同一个window
。
访问undefined
属性时,您获得x
,因为它是私有的。 x
仅存在于first
函数的本地范围内。
以下是如何访问x
的示例。
var first = (function () {
// private variables / functions
var x = ['new', 'old'];
// public properties (properties of "first")
return {
getX: function () {
return x; // x.slice(0); if you want to send a copy of the array
}
}
}());
答案 1 :(得分:1)
node.js中的模块加载系统要求您使用module.exports
公开您要共享的数据类型:
您的示例将重写如下:
// first.js
module.exports = {
x : 'Something here',
y : 'another item'
};
然后在另一个文件
var first = require('../first.js'); //path to the first.js file
console.log(first.x)
的更多详情