2016-10-27 4 views
-2

私は別のページに使用されているいくつかのJavaScript関数がそれ最高のdocument.ready関数の内部(20個の機能を言うことができます)、すべてのこれらの機能を呼び出すために

function functionforpage1(){ 
    //do something on page1 
} 

function functionforpage2(){ 
    //do something on page2 
} 

function functionforpage3(){ 
    //do something on page3 
} 
例:

である必要があり

...最大20

に機能し、私はこの

$(document).ready(function(){ 

functionforpage1(); 
functionforpage2(); 
functionforpage3() 
functionforpage4() 
................ 
functionforpage20() 
}) 

のようにそれらを呼び出すためには、このことをお勧めしているのですか?ページ20をロードすると、関数20を実行する前に、1から19までのすべての関数を実行しなければならないので、ページのパフォーマンスに影響を及ぼしますか?最良の方法は何ですか?

答えて

1

あなたのコードでどの機能がページに関連しているかを判断し、それらの機能のみを呼び出すことをお勧めします。例えば、おそらく持っていることによって、あなたのメインのJavaScriptがすべてではないreadyを使用して、唯一の関連1呼び出す各ページの小さなインラインscriptブロックがあります。

<!-- On page 3 --> 
<script src="your-main-script.js"></script> 
<script> 
$(document).ready(functionforpage3); 
</script> 

をしかし、関数を仮定して、彼らが上がらないことを早期に把握します1つのDOMクエリを実行する20個の関数を呼び出し、それらのうち19個は、探しているものが見つからないことを知っているので停止します(つまり、単純なDOMクエリ)。あらゆる顕著な問題。ただ早く失敗するようにしてください。

+0

あなたの返信ありがとうございました。少なくとも、ページ名を決定するif文を使用することをお勧めしますか?ページに実際にその機能が必要かどうかを知ることができます。 –

+0

@ chikor.net:私はその知識を一元化するのを避け、代わりにその知識をページに(例えば、上記のインラインスクリプトを使って)保持します。 –

関連する問題