オブジェクト指向のJavaScriptの開発と変数の解析について質問があります。詳細については、net.tutsplusによるこのブログを参照してください-オブジェクト指向JavaScriptの基本。
イベントを作成する次のコードがあります。
$(document).ready(function() {
tools.addEvent('.someButton', 'click', user.getUserDetails);
)};
var tools = {
addEvent: function(to, type, fn) {
$(to).live(type, fn);
}
}
var user = {
getUserDetails: function(userID) {
console.log(userID);
}
}
ご覧のとおりaddEvent
、3つの変数を使用してメソッドを呼び出します。イベントをアタッチするDOM要素、イベントのタイプ、およびイベントがトリガーされたときに実行する関数。
私が抱えている問題は、getUserDetailsメソッドへの変数の解析であり、2つのオプションを知っています。
送信者の属性をチェックできるコードを最初に1行持つことができます。たとえば、は
.someButton
属性を持つことができますuserID="12345"
。ただし、関数はいくつかの異なる場所から実行されるため、これは理想的ではありません。つまり、このチェックが常に利用できるとは限りません(コードの管理が難しくなります)。より良いオプションは、のような別のメソッドを持ち、このメソッドを使用してDOMから
user.willGetUserDetails
属性を取得することです。userID
これはページのどこからでも実行でき、をgetUserDetails
取得した後に呼び出しますuserID
。ユーザーの詳細が別の関数内から取得される場合は常に、getUserDetails
直接呼び出すだけです。理想的なのは、上記のコードを修正して、変数を直接渡すことができれば、未定義の変数であってもです。誰かがこれをどのように達成できるか知っていますか?