如何从YUI沙箱中获取数据

时间:2013-11-05 13:45:49

标签: javascript yui

我想从YUI沙箱中获取数据并将其传递给另一个函数。例如,如果我有类似的东西:

YUI().use('node','stylesheet', function (Y)
{
    var sheet = Y.StyleSheet('#myStyle');
    // Some logic...
    var styleSheetText =  sheet.getCssText("h1");
});

console.log(styleSheetText); //still undefined

如何在console.log中获取值 styleSheetText ?如果是JavaScript问题或YUI问题,我现在不会。

1 个答案:

答案 0 :(得分:2)

两者都是。在JavaScript中,您无法在声明它的函数之外看到变量的值。如果在YUI()。use()的回调函数中声明styleSheetText,则无法在该回调函数之外看到它的值。

这也是一个YUI问题。 YUI()。use()的回调函数将异步执行,也就是说,执行的时间是不可预测的,但它总是在执行console.log()语句之后。因此,即使您使styleSheetText全局化以解决变量可见性问题,它仍将显示未定义。

通常,您将所有代码放在YUI()。use()的回调函数中。这将解决这两个问题。