[英]accessing variables from functions in javascript?
我怎么能访问一个在函数中初始化的变量,但是main.name给了我一个空值,我知道该值是在函数或main中初始化的,但是在feed中却没有! 这是我的例子
var main = Titanium.UI.createWindow();
var feed = Titanium.UI.createWindow({
title:'feeds',
url:'main_windows/feeds.js',
barImage:'bg_content.gif',
username:main.name //im trying too access this varibale from main.
});
Ti.App.addEventListener('grantEntrance',function(event)
{
main.title ='Welcome'+event.username;
main.url = 'main_windows/main.js';
main.name = event.username; // this is where the varibale is intialised
main.email = event.email;
main.barImage='bg_content.gif';
});
抱歉,如果这似乎是一个愚蠢的问题,但我是javascript的新手,请告诉我删除它。 我想知道您是否可以将其变成一个小问题。
您正在尝试获取尚未初始化的变量。 由于您是在事件的回调中分配main.name的,因此只有在触发该事件后才会对其进行初始化。 我不确定您的应用程序的逻辑是什么,但是我想您能够在此回调中初始化window:
Ti.App.addEventListener('grantEntrance',function(event) {
main.title ='Welcome'+event.username;
main.url = 'main_windows/main.js';
main.name = event.username;
main.email = event.email;
main.barImage='bg_content.gif';
var feed = Titanium.UI.createWindow({
title:'feeds',
url:'main_windows/feeds.js',
barImage:'bg_content.gif',
username:main.name
});
});
或者,只需在回调内设置窗口的username属性:
var feed = Titanium.UI.createWindow({
title:'feeds',
url:'main_windows/feeds.js',
barImage:'bg_content.gif',
});
Ti.App.addEventListener('grantEntrance',function(event) {
main.title ='Welcome'+event.username;
main.url = 'main_windows/main.js';
main.name = event.username;
main.email = event.email;
main.barImage='bg_content.gif';
feed.username = main.name
});
同样,从个人经验来看:Titanium不是“增强js能力”的最佳方法:某些方法异步运行,这会引起奇怪的问题。 因此,如果您是新手,可能会感到很痛苦。
无论如何,祝你好运:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.