我正在编写一个类似于嵌套函数的代码片段,一次又一次地在JavaScript中,当我调用最外部的函数时,我希望从内部函数返回的值如下所示。
function BooleanFunc(par) {
function(){
function(){
if(par === 0){
return true;
}
else {
return false;
}
};
};
};
if(BooleanFunc(0)){
alert("Returning True...");
}
else {
alert("Returning False...");
}
为了方便起见,这里是此代码的FIDDLE。我使用Pure JavaScript。有许多解决方案可用,但这些是针对具有一些名称的嵌套函数,但在我的情况下,内部函数没有名称,我无法更改函数。那么如何从嵌套函数返回值... ???
我正在处理使用WebSQL的代码。从下面的代码,我在数据库中搜索我的播放器,我发现它然后它将返回TRUE否则它将返回FALSE。但它不起作用......
/* SEARCH
----------------------------------------------- */
function searchPlayer(player) {
// Check To Ensure That mydb Object Has Been Created
if (mydb) {
// Select The Matched Query
mydb.transaction(function (t) {
t.executeSql("SELECT COUNT(*) AS c FROM myTable WHERE playername = ?", [player],
function(t,results){
if(results.rows[0].c > 0){
return true;
}
else {
return false;
}
},
function(t,error){
alert("Error: " + error.message);
}
);
});
}
else {
alert("Database Not Found, Your Browser Does Not Support WebSQL...!!!");
}
}
嵌套函数需要花时间加载和回复,所以我只是在两组代码之间给出了一些时间差,所以在第二组代码在第一组代码的回复之后工作正常。