パフォーマンスを最適化するために、1 つの JavaScript ファイルを使用して、作業中の Web サイトのすべてのページを処理しています。私が使用している基本的な構造は次のとおりです。
(function($) {
// Shared functions ...
// A function for every page
function Page1() {
}
Page1.prototype = {
init: function() {
//...
},
//more functions
};
// more pages
$(document).ready(function() {
if ($('#page1uniqueidentifier').length) {
var page1 = new Page1();
page1.init();
}
// more pages
}
}) (jQuery);
私は経験豊富な JavaScript プログラマーではないので、コードを構築するためのベスト プラクティスやさまざまな方法について多くのことを検索してきましたが、最終的にこれを選択しましたが、よくわかりません。いくつか質問があります。 :
ページのインスタンスが 1 つしかない場合、プロトタイプを使用する価値はありますか? プロトタイプがどのように機能するかを理解していると思いますが、そこでは何のパフォーマンスも得られていません。ただし、異なるインスタンスが存在する場合、これらの関数はすべてのインスタンスで同じになるため、ベスト プラクティスとして使用しています。
コードを構造化するより良い方法はありますか?
init 関数の呼び出しをコンストラクター内に配置してから、new Page1() のみを呼び出す必要がありますか?
function Page1() { this.init(); } if ($('#page1uniqueidentifier').length) { new Page1(); }