在对象外部时javascript变量值丢失

在对象外部时javascript变量值丢失,javascript,Javascript,这听起来可能是个新手问题,但我在Javascript中使用变量作用域时遇到了很大困难 我有以下JS代码段: <script> window.IDFVPlugin.getIdentifier(function(result){ uuid = result; }); alert(uuid); </script> getIdentifier(函数(结果){uuid=result;}); 警报(uuid); 我想在窗口对象之外的脚本中的任何位置使用变量uuiduuid仅在对

这听起来可能是个新手问题,但我在Javascript中使用变量作用域时遇到了很大困难

我有以下JS代码段:

<script>
window.IDFVPlugin.getIdentifier(function(result){ uuid = result; });
alert(uuid);
</script>

getIdentifier(函数(结果){uuid=result;});
警报(uuid);

我想在
窗口
对象之外的脚本中的任何位置使用变量
uuid
uuid
仅在对象内部时返回正确的值,而在对象外部时该值丢失。因此,上面的警报将记录一个未定义的变量错误。

您使用回调函数。结果应在回调体内部使用。如果您尝试在主函数调用后立即使用它,它将不可用

window.IDFVPlugin.getIdentifier(function(result){
 uuid = result;
 alert(uuid); 
});

您可以使用回调函数。结果应在回调体内部使用。如果您尝试在主函数调用后立即使用它,它将不可用

window.IDFVPlugin.getIdentifier(function(result){
 uuid = result;
 alert(uuid); 
});

您是否尝试在窗口语句之前声明它?如果
IDFVPlugin.getIdentifier
完全是异步的,则发出
undefined
警报是有意义的。您是否有可能共享
getIdentifier
的代码?尝试过,但它仍然未定义?您尝试在window语句之前声明它吗?如果
IDFVPlugin.getIdentifier
完全是异步的,则发出
未定义的
警报是有意义的。您是否有可能共享
getIdentifier
的代码?尝试过了,但仍然没有定义这是正确的。我创建它是为了显示异步回调。如果是同步回调,则使用将结果添加到窗口obj的方法。或者,使用以前定义的变量。对于测试同步,只需取消注释
回调(数据)没错。我创建它是为了显示异步回调。如果是同步回调,则使用将结果添加到窗口obj的方法。或者,使用以前定义的变量。对于测试同步,只需取消注释
回调(数据)