何百ものjQueryコードスニペットがあり、些細で難解で、時には間違っています。自己完結型の完全な例はめったにありません。Crockford クロージャーを使用するこのコードは OK で、ready() 関数に正しく配置されていますか? そうでない場合、どのように改善または修正する必要がありますか? これはやり過ぎですか?最終的に単純なマイクロコントローラーをシミュレートするプログラム ロジックからユーザー インターフェイスを分離しようとしています。この例では、ステップ ボタンが押されたときにプログラム カウンターをインクリメントします。それは正常に動作します。
// ==================================================================
$(document).ready(function(){
// ==============================================================
// The simulator code - NO UI CODE HERE
// ==============================================================
var sim = (function(){
// Private vars
var pc = 0; // Program Counter
// Public functions
return {
step: function(){
pc += 1;
return pc;
}
}
}());
// ==============================================================
// jQuery UI Code - NO SIMULATOR CODE HERE
// ==============================================================
var ui = (function($){
// Private vars
var step = $('#step'), // <button id="step">Step</button>
pc = $("#pc"); // <p id="pc">Program Counter = 0</p>
// Private functions
step.click(function() {
pc.html('Program Counter = ' + sim.step());
});
}(jQuery));
});
// ==================================================================