私はこのコードを以下に示します。関数、オブジェクト、および匿名関数
var user = new user();
function user() {
// returns true if the account is password protected
function isPasswordProtected(data, callback) {
//check if the account is a password protected account, and if so request the password.
$.post('user_functions/ifpasswordprot.php', {uid: data['uid']}, function(data) { return callback(data);});
}
// function that returns 1 if the user is password protected
this.getPPStatus = function() { return isPasswordProtected({uid: this.userid}, function(data) { return data; }); };
}
これは、サイト内の他の場所から参照できるユーザーオブジェクトを作成するために設計されています。これ以上のことはありますが、それはここで関連するコードです。
私がログインしているユーザーは、としてこのように、パスワードで自分のアカウントを保護していたかどうかを確認しようとしています別のページから:
alert(user.getPPStatus());
をしかし、これは常にundefined
として出てきます。
私はJavaScriptのオブジェクトや匿名関数のユーザーについては熟知していません。誰もこのことがうまくいかない理由を説明してもらえますか?それはOKであるべきである十分なリターンが各ターンにあるようである。
SOLUTION
これには、非同期の問題である:
var user = new user();
function user() {
// returns true if the account is password protected
function isPasswordProtected(data, callback) {
//check if the account is a password protected account, and if so request the password.
$.post('function/get-ifpasswordprotected.php', {uid: data['uid']}, function(data) { callback(data);});
}
// function that returns 1 if the user is password protected
this.getPPStatus = function(**callback**) { isPasswordProtected({uid: this.userid}, **callback**); };
}
、その後
user.getPPStatus(function(result) {
**DO STUFF HERE**
});
全くないアイデアこれは良いjavascriptのですかちょっと、それが動作するかどうか... :)
質問のタイトルは、書籍/映画のタイトルのように聞こえる! – undefined
@Vohuman - ええ、私はそれを見ました、ジェームスSpaderはそれで素晴らしかった –