2017-06-30 3 views
-1

Gibt es einen Leistungsvorteil bei der Definition von Funktionen vor jQuery(document).ready?Leistungsvorteil beim Definieren von Funktionen vor jQuery (Dokument) .ready

Code A:

(function($){ 
'use strict'; 

    function myfunction() { 
    // some code 
    } 

    $(document).ready(function($) { 

    //some other code 

    myfunction(); 

    }); 


})(jQuery); 

-Code B:

jQuery(document).ready(function($) { 
    'use strict'; 

    function myfunction() { 
    // some code 
    } 

    //some other code 

    myfunction(); 

    }); 

Will Code A schneller als -Code B? Mein Denken ist, dass im Fall von Code A der Browser regsiter und analysieren die Funktion schneller. Ich bin hier ein bisschen außerhalb meiner Liga.

+0

, die überhaupt keinen Unterschied machen sollte, weil der „Hebe“. Der JS-Interpreter extrahiert die Variablen- und Funktionsdeklarationen _before_ startet den Code. http://adriphofavascript.com/blog/drips/variable-and-function-hoisting – CBroe

+0

Nicht sicher, dass Sie viel Nutzen sehen werden, aber das zweite ist definitiv einfacher zu lesen und folglich beizubehalten. – vol7ron

+0

@ vol7ron warum nicht? Die Frage war, ob eine der beiden Arten, die Funktion zu deklarieren, das Ganze schneller machen würde (_ "der Browser könnte die Funktion schneller regsiter und parsen") - und dazu würde ich nein sagen, wegen des Hochziehens. – CBroe

Antwort

0

Aus Performance-Sicht sollte kein Unterschied bestehen. Die Funktionen werden vor der Ausführung im Speicher gespeichert, unabhängig von ihrer Position im Code.

Mehr zu diesem Thema:

+0

'Die Funktionen werden vor der Ausführung im Speicher gespeichert. Es gibt einen Unterschied, wenn sie im Speicher gespeichert werden und somit einen Einfluss auf die Ausführung der' Ready'-Ausführung haben. – vol7ron

+0

Thnk Sie für die guten Ressourcen, aber ich bin mir nicht sicher, wie das hier gilt, da in 'Code B' meine Funktion()' bereits an der Spitze des Umfangs ist. Das Problem ist, ob die JS-Engine 'myfunction()' nach 'document.ready' von vorher analysiert und interpretiert, auch wenn sie in' document.ready' gekapselt ist. – Hlsg

Verwandte Themen