gpt4 book ai didi

javascript - 从javascript中的函数访问变量?

转载 作者:行者123 更新时间:2023-12-02 20:26:33 25 4
gpt4 key购买 nike

我如何访问在函数中初始化的变量,但 main.name 给了我一个空值,我知道该值在函数或 main 中初始化,但不在提要中!这是我的例子,

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 ,因此只有在该事件触发后才会对其进行初始化。我不确定您的应用程序的逻辑是什么,但我想您可以在此回调中初始化窗口:

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
});
});

或者,只需在回调中设置窗口的用户名属性:

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 能量”的最佳方式:一些方法是异步运行的,这会导致奇怪的问题。所以如果你是新手,这可能会很痛苦..

无论如何,祝你好运:)

关于javascript - 从javascript中的函数访问变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4759099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com