这是我的主文件:
$(document).ready(function () {
function Page() {
this.menu = new Menu();
this.management = new Management();
this.text = "text";
}
window.Page= Page();
});
现在我想从所有其他 JS 文件访问该页面:
我试过这个:
console.log(Page.text);
给我:Uncaught ReferenceError: Page is not defined
试过这个:
console.log(window.Page.text);
给我:Uncaught TypeError: Cannot read property 'text' of undefined
我做错了什么?
最佳答案
您的问题是在 Page 函数中您没有在全局上下文中创建任何新对象。您正在创建一个新的菜单和新的管理实例,但在当前上下文中。
此外,通过调用 Window.Page = Page(),您将 Page 函数的结果(无效)分配给 window.Page 对象。
我建议你这样做:
//- from any js file
function createPage() {
var newPage = { title : 'new page', count : '2' };
return newPage;
}
window.Page = createPage();
...
//- and from other js file
$(document).ready(function () {
alert(window.Page.title);
});
请注意,我已将您的菜单和管理属性替换为此示例的虚拟内容。提供 sample @ this JSFiddle
更新:代码已更新以说明多个 js 文件的正确用法。
希望对你有帮助
关于javascript - 从其他 JS 文件访问全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14332901/