在对象外部时javascript变量值丢失
这听起来可能是个新手问题,但我在Javascript中使用变量作用域时遇到了很大困难 我有以下JS代码段:在对象外部时javascript变量值丢失,javascript,Javascript,这听起来可能是个新手问题,但我在Javascript中使用变量作用域时遇到了很大困难 我有以下JS代码段: <script> window.IDFVPlugin.getIdentifier(function(result){ uuid = result; }); alert(uuid); </script> getIdentifier(函数(结果){uuid=result;}); 警报(uuid); 我想在窗口对象之外的脚本中的任何位置使用变量uuiduuid仅在对
<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的方法。或者,使用以前定义的变量。对于测试同步,只需取消注释回调(数据)代码>