我想从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问题,我现在不会。
答案 0 :(得分:2)
两者都是。在JavaScript中,您无法在声明它的函数之外看到变量的值。如果在YUI()。use()的回调函数中声明styleSheetText,则无法在该回调函数之外看到它的值。
这也是一个YUI问题。 YUI()。use()的回调函数将异步执行,也就是说,执行的时间是不可预测的,但它总是在执行console.log()语句之后。因此,即使您使styleSheetText全局化以解决变量可见性问题,它仍将显示未定义。
通常,您将所有代码放在YUI()。use()的回调函数中。这将解决这两个问题。