JavaScript YUI3全局变量

JavaScript YUI3全局变量,javascript,yui3,Javascript,Yui3,我使用的格式如下: var tabview; YUI().use('tabview', function(Y) { tabview = new Y.TabView({srcNode:'#demo'}); alert (tabview); //defined tabview.render(); }); alert (tabview); //undefined 但是,当我尝试在其声明函数之外访问变量tabview时,我得到一个异常,即对象未定义。你能告诉我我遗漏了什么吗?编

我使用的格式如下:

var tabview;
YUI().use('tabview', function(Y) {
    tabview = new Y.TabView({srcNode:'#demo'});
    alert (tabview); //defined
    tabview.render();
});
alert (tabview); //undefined
但是,当我尝试在其声明函数之外访问变量
tabview
时,我得到一个异常,即对象未定义。你能告诉我我遗漏了什么吗?

编辑:同时检查

考虑到javascript的异步特性,
选项卡视图
在YUI块外对其调用
alert()
之前不一定呈现。在本例中,在警报框中看到“undefined”表示变量已声明,但未分配给任何值。如果无法访问该变量,
alert()
将由于未捕获的“ReferenceError”而失败

因此,在尝试猜测您的意图时,如果您想检查tabview对象,您可能希望使用
console.log()
而不是
alert()
来查看浏览器控制台中的输出,并将其放在
render()
之后的YUI块中:

要在YUI块外使用
选项卡视图
,请确保它已准备就绪。举个简单的例子:

Y.on("domready", function() {
    console.log(tabview);
}
编辑:同时检查

考虑到javascript的异步特性,
选项卡视图
在YUI块外对其调用
alert()
之前不一定呈现。在本例中,在警报框中看到“undefined”表示变量已声明,但未分配给任何值。如果无法访问该变量,
alert()
将由于未捕获的“ReferenceError”而失败

因此,在尝试猜测您的意图时,如果您想检查tabview对象,您可能希望使用
console.log()
而不是
alert()
来查看浏览器控制台中的输出,并将其放在
render()
之后的YUI块中:

要在YUI块外使用
选项卡视图
,请确保它已准备就绪。举个简单的例子:

Y.on("domready", function() {
    console.log(tabview);
}