Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 12538|Απάντηση: 1

[JavaScript] javascrip{filter}t βελτιστοποίηση απόδοσης

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 4/12/2017 8:23:14 μ.μ. | | |
1. Σεβαστείτε την ιδιοκτησία του αντικειμένου
 Μην προσθέτετε χαρακτηριστικά σε περιπτώσεις ή πρωτότυπα.
 Μην προσθέτετε μεθόδους σε περιπτώσεις ή πρωτότυπα.
 Μην επαναπροσδιορίζετε μεθόδους που ήδη υπάρχουν.
Ο καλύτερος τρόπος για να το κάνετε αυτό είναι να μην τροποποιείτε ποτέ αντικείμενα που δεν σας ανήκουν. Η κατοχή ενός αντικειμένου σημαίνει ότι το δημιουργήσατε εσείς, όπως έναν προσαρμοσμένο τύπο ή μια λεκτική σταθερά αντικειμένου που δημιουργήσατε εσείς. Οι πίνακες και τα έγγραφα προφανώς δεν είναι δικά σας, υπάρχουν πριν εκτελεστεί ο κώδικάς σας.
2. Αποφύγετε τις καθολικές μεταβλητές
Δημιουργήστε μια καθολική μεταβλητή το πολύ, επιτρέποντας σε άλλα αντικείμενα και συναρτήσεις να υπάρχουν σε αυτήν. Ρίξτε μια ματιά στα ακόλουθα παραδείγματα:
//两个全局量——避免!!
var name = "Νικόλαος";
συνάρτηση sayName(){
alert(όνομα);
}
Αυτός ο κωδικός περιέχει δύο καθολικές ποσότητες: το όνομα της μεταβλητής και τη συνάρτηση sayName(). Στην πραγματικότητα, μπορείτε να δημιουργήσετε ένα αντικείμενο που περιέχει και τα δύο, όπως φαίνεται στο παρακάτω παράδειγμα:
//一个全局量——推荐
var MyApplication = {
name: “Nicholas”,
sayName: function(){
ειδοποίηση(this.name)·
}
};
3. Αποφύγετε τη σύγκριση με το null
 Εάν η τιμή πρέπει να είναι τύπος αναφοράς, χρησιμοποιήστε τον τελεστή στιγμιότυπου για να ελέγξετε τον κατασκευαστή του.
 Εάν η τιμή πρέπει να είναι βασικός τύπος, χρησιμοποιήστε το typeof για να ελέγξετε τον τύπο του.
 Εάν θέλετε το αντικείμενο να περιέχει ένα συγκεκριμένο όνομα μεθόδου, χρησιμοποιήστε τον τελεστή typeof για να βεβαιωθείτε ότι η μέθοδος με το καθορισμένο όνομα υπάρχει στο αντικείμενο.
(Εδώ προτείνω την ομάδα εκμάθησης και ανταλλαγής διεπαφής ιστού μου: 675498134, είτε είστε αρχάριος είτε θεός, σας καλωσορίζω να έρθετε και να μάθετε και να επικοινωνήσετε και να μοιράζεστε ξηρά προϊόντα από καιρό σε καιρό, συμπεριλαμβανομένων των πιο πρόσφατων υλικών και σεμιναρίων front-end που έχω συγκεντρώσει ο ίδιος για να σας δώσω, και υπάρχουν τεχνικοί εμπειρογνώμονες που εξηγούν ζωντανά τη γνώση του front-end κάθε μέρα. Οι αρχάριοι και οι προχωρημένοι φίλοι είναι ευπρόσδεκτοι να μάθουν και να επικοινωνήσουν μαζί και να σημειώσουν πρόοδο μαζί. )
4. Χρησιμοποιήστε σταθερές
Αν και το Javascrip{filter}t δεν έχει τυπική έννοια των σταθερών, είναι χρήσιμο. Αυτή η ιδέα του διαχωρισμού δεδομένων από τη λογική της εφαρμογής μπορεί να αλλάξει δεδομένα χωρίς να διακινδυνεύσει την εισαγωγή σφαλμάτων. Ρίξτε μια ματιά στα ακόλουθα παραδείγματα:
var Σταθερές = {
INVALID_VALUE_MSG: "Μη έγκυρη τιμή!",
INVALID_VALUE_URL: "/errors/invalid.php"
};
συνάρτηση validate(value){
αν (!τιμή){
συναγερμός(Constants.INVALID_VALUE_MSG)·
locatio{filter}n.href = Constants.INVALID_VALUE_URL;
}
}
5. Αποφύγετε την παγκόσμια αναζήτηση
Πιθανώς το πιο σημαντικό πράγμα για τη βελτιστοποίηση της απόδοσης του σεναρίου είναι να δώσετε προσοχή στις καθολικές αναζητήσεις. Η χρήση καθολικών μεταβλητών και συναρτήσεων είναι σίγουρα πιο ακριβή από την τοπική, επειδή περιλαμβάνει αναζητήσεις στην αλυσίδα εμβέλειας. Ρίξτε μια ματιά στην ακόλουθη λειτουργία:
συνάρτηση updateUI(){
var imgs = document.getElementsByTagName("img");
για (var i=0, len=imgs.length; Εγώ < Λεν. i++){
imgs[i].title = document.title + " εικόνα " + i;
}
var msg = document.getElementById("msg");
msg.innerHTML = "Η ενημέρωση ολοκληρώθηκε.";
}
Η συνάρτηση μπορεί να φαίνεται τέλεια, αλλά περιέχει τρεις αναφορές στο καθολικό αντικείμενο εγγράφου. Εάν υπάρχουν πολλές εικόνες στη σελίδα, η αναφορά εγγράφου στον βρόχο for θα εκτελεστεί πολλές φορές ή ακόμα και εκατοντάδες φορές, κάθε φορά που θα εκτελείται μια αναζήτηση αλυσίδας εμβέλειας. Δημιουργώντας μια τοπική μεταβλητή που δείχνει στο αντικείμενο εγγράφου, μπορείτε να βελτιώσετε την απόδοση αυτής της συνάρτησης περιορίζοντας μια καθολική αναζήτηση μία φορά:
συνάρτηση updateUI(){
var doc = έγγραφο;
var imgs = doc.getElementsByTagName("img");
για (var i=0, len=imgs.length; Εγώ < Λεν. i++){
imgs[i].title = doc.title + " εικόνα " + i;
}
var msg = doc.getElementById("msg");
msg.innerHTML = "Η ενημέρωση ολοκληρώθηκε.";
Εδώ, τοποθετήστε πρώτα το αντικείμενο εγγράφου στην τοπική μεταβλητή doc. Στη συνέχεια, αντικαταστήστε το αρχικό έγγραφο με τον υπόλοιπο κωδικό. Σε σύγκριση με την αρχική έκδοση, η τρέχουσα λειτουργία έχει μόνο μία καθολική αναζήτηση, η οποία είναι σίγουρα πιο γρήγορη.
6. Άλλες προφυλάξεις κατά την απόδοση
 Οι εγγενείς μέθοδοι είναι πιο γρήγορες - Όποτε είναι δυνατόν, χρησιμοποιήστε την εγγενή μέθοδο αντί να ξαναγράψετε μία μόνοι σας με το Javascrip{filter}t μόνοι σας. Η εγγενής μέθοδος είναι γραμμένη σε μια μεταγλωττισμένη γλώσσα όπως η C/C++, επομένως είναι πολύ πιο γρήγορη από την Javascrip{filter}t. Το πιο ξεχασμένο πράγμα για το Javascrip{filter}t είναι τα πολύπλοκα μαθηματικά που μπορούν να βρεθούν σε αντικείμενα μαθηματικών. Αυτές οι μέθοδοι είναι πολύ πιο γρήγορες από οποιαδήποτε άλλη μέθοδο γραμμένη με Javascrip{filter}t, όπως ημίτονο και συνημίτονο.
 Οι εντολές διακόπτη είναι πιο γρήγορες - Εάν έχετε μια σειρά σύνθετων εντολών if-else, μπορείτε να λάβετε ταχύτερο κώδικα μετατρέποντάς τις σε μία μόνο δήλωση διακόπτη. Μπορείτε επίσης να βελτιώσετε περαιτέρω τη δήλωση διακόπτη οργανώνοντας τη δήλωση υπόθεσης με τη σειρά από το πιο πιθανό στο λιγότερο πιθανό.
 Οι τελεστές bit είναι ταχύτεροι - Κατά την εκτέλεση μαθηματικών πράξεων, οι πράξεις bit είναι ταχύτερες από οποιεσδήποτε δυαδικές ή αριθμητικές πράξεις. Η επιλεκτική αντικατάσταση αριθμητικών πράξεων με πράξεις bit μπορεί να βελτιώσει σημαντικά την απόδοση πολύπλοκων υπολογισμών. Λογικές όπως το modulus, η λογική και η λογική αθροίσματος μπορεί να θεωρηθεί ότι έχουν αντικατασταθεί με πράξεις bit.

Παρτιτούρα

Αριθμός συμμετεχόντων1ΜΒ+1 συνεισφέρω+1 Κατάρρευση λόγος
ΚΟΥΈΡΤΙΟΥ + 1 + 1 Υποστηρίξτε τον ιδιοκτήτη να δημοσιεύσει μια καλή ανάρτηση, και θα δημοσιεύσω επίσης μια καλή ανάρτηση!.

Δείτε όλες τις αξιολογήσεις





Προηγούμενος:Ο SQL Server εξάγει τα καθορισμένα δεδομένα με συνθήκες
Επόμενος:Οι αρχάριοι παίζουν κάποια μαύρη τεχνολογία στο CSS
Δημοσιεύτηκε στις 5/12/2017 9:33:13 π.μ. |
έμαθαν            
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com