我想學習,如何從Javascript中的連續函數返回布爾值?如果前一個函數返回true,我想運行下一個函數。例如有一個主要功能,並有3個子功能。如何從Javascript中的連續函數返回布爾值?
它會是這樣的:運行第一個函數,如果它返回true,運行第二個函數,如果第二個函數返回true,則運行第三個函數,如果第三個函數返回true,那麼main函數也返回true。
有人可以告訴我一個簡單的例子。我寫了一個例子,但它總是返回false :)我想學習邏輯的最佳途徑。所有從現在起謝謝:)
我的例子:
var uname;
$("#username").keyup(function() {
uname = checkUsername();
console.log(checkUsername());
}); // Username keyup
function allowedChars() {
var username = document.getElementById("username").value;
var chars = /^[a-zA-Z0-9\.\_]*$/;
if(chars.test(username) == true) {
$("#notName").html("").show();
return true;
}
else {
$("#notName").html("Username can just contain A-Z, 0-9, dot and underscore!").show();
return false;
}
} // allowedChars
function unameLen() {
var username = document.getElementById("username").value;
if ((username.length > 3) && (username.length < 20)) {
$("#notName").html("").show();
return true;
}
else {
$("#notName").html("Username must be between 3 and 20 characters!").show();
return false;
}
}
function unameAvl() {
var username = document.getElementById("username").value;
$.post("check.php", { username: username },
function(result){
if (result == true) {
$("#notName").html("").show();
return true;
}
else {
$("#notName").html("Username is already exists!").show();
return false;
}
});
}
function checkUsername() {
allowedChars();
if (allowedChars()) {
unameLen();
}
if (unameLen()) {
unameAvl();
}
if (unameAvl()) {
return true
}
else {
return false;
}
}
它背後沒有魔法。 – Nonemoticoner
我只是一個新的程序員。你可以更有禮貌。我知道沒有魔法,並感謝您的有用評論。 – yunusus