b/w समारोह घोषणा & समारोह अभिव्यक्ति खूबसूरती से var functionName = function() {} vs function functionName() {}
में वर्णन किया गया इस में यह है कि समारोह घोषणा पार्स-समय के दौरान मूल्यांकन किया जाता है उल्लेख किया गया है अंतर, & समारोह अभिव्यक्ति निष्पादन चरणफ़ंक्शन अभिव्यक्ति की तुलना में फ़ंक्शन घोषणा तेज है?
में मूल्यांकन किया जाता है bytes.com में यह है उल्लेख किया है कि फ़ंक्शन अभिव्यक्ति फ़ंक्शन अभिव्यक्ति से तेज है। http://jsperf.com/function-declaration-vs-function-expression
समारोह घोषणा:
function myfunc() {
alert("yo");
}
myfunc();
समारोह अभिव्यक्ति:
var myfunc = function() {
alert("yo");
}
myfunc();
परीक्षण से पता चला कि समारोह अभिव्यक्ति है
मैं इस के लिए एक बुनियादी परीक्षण का मामला बनाया 90% धीमी टी हन समारोह घोषणा।
गति में इतना अंतर क्यों?
संपादित:
परिणामों से http://jsperf.com/function-declaration-vs-function-expression
Chrome, IE9, Opera & Safari
में -> समारोह घोषणा समारोह अभिव्यक्ति की तुलना में तेजी है
Firefox, IE7, IE8
में -> समारोह अभिव्यक्ति समारोह घोषणा की तुलना में तेजी है
में आईई 9 फ़ंक्शन घोषणा तेज है, जबकि आईई 7में 210 8 फ़ंक्शन अभिव्यक्ति तेज़ है। क्या यह आईई 9 में जावास्क्रिप्ट इंजन में बदलाव की वजह से है, या यह कदम जानबूझकर था?
आप किस ब्राउज़र या जावास्क्रिप्ट इंजन का उपयोग कर रहे हैं? –
यह वास्तव में फ़ायरफ़ॉक्स में तेज़ है। –
ये परिणाम बहुत दिलचस्प हैं, जबकि यह क्रोम और ओपेरा में 90% धीमी है, यह वास्तव में एफएफ में तेज़ है। मैं कहूंगा कि इससे कोई फर्क नहीं पड़ता है, क्योंकि यदि आप पर्याप्त कार्यों की घोषणा कर रहे हैं कि यह कोई मुद्दा बन गया है, तो आप कुछ गलत कर रहे हैं। – idbentley