例如,如果我的项目有一个文件夹,里面有2个文件,我如何使用另一个文件中的数据?
例:
File1.JS
var objectFromFile1={name:obj1};
File2.JS
如何在此文件中使用objectFromFile?
如何在文件2中执行objectFromFile1.name
?
这是崇高的3和JS
感谢
答案 0 :(得分:1)
如果您在html文件中引用这两个文件并在浏览器中加载html文件,则objectFromFile1将位于全局范围内,因此文件2将能够看到它。如果您想在文件上提供抽象层,帮助您将文件分解为可供其他模块使用的模块,请查看requirejs http://requirejs.org/或类似的库。
答案 1 :(得分:0)
注意:Sublime Text不会同时识别两个文件的名称。
@Patrick回答正确。但是,如果您无法访问HTML页面,则可以使用XMLHttpRequest
构造函数加载File1.js
并使用Function
构造函数执行其内容,并在此处大小写,objectFromFile1
应在window
对象中定义为脚本中的全局,例如window.objectFromFile1 = {};
。
// Construct the XHR object
var xhr = new XMLHttpRequest;
// Configure the XHR
xhr.get("GET", "File1.js", true);
// When the XHR change its ready state
xhr.onreadystatechange = function() {
if(this.readyState === 4) {
if(this.status === 200) {
/* Success */
(new Function(this.responseText))();
/* Your callback goes here */
/* Example: */
alert(objectFromFile1.name);
}else{
/* Error loading the file */
}
}
};
// Do the request
xhr.send();