我有以下功能
function fileExists(FileName) {
var retvar="false";
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
fileSystem.root.getFile(FileName, null,
function() {
fileEntry.file(function() {
alert("Exists");
},
function() {
});
},
function () {
retvar = "true";
alert(retvar); //says true
});
},null);
alert(retvar); //says false
}
这里,我必须在内部嵌套函数中将 retvar 的值设置为 true。我无法将该值传递到该函数之外。谁能告诉我将该值传递给父函数的任何想法吗?
最佳答案
哦!谢谢谷歌!回答我!
我必须在函数之前初始化变量!
答案应该是
var retvar="";
function fileExists(FileName) {
retvar = "false";
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
fileSystem.root.getFile(FileName, null,
function() {
fileEntry.file(function() {
alert("Exists");
},
function() {
});
},
function () {
retvar = "true";
alert(retvar); //says true
});
},null);
alert(retvar); //says same if it is assigned as like in the inner loop
}
关于javascript - 在局部嵌套函数中设置全局变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20069194/