Javascript και JScript: Ποια είναι η διαφορά;

Το Netscape ανέπτυξε την αρχική έκδοση του JavaScript για τη δεύτερη έκδοση του δημοφιλούς προγράμματος περιήγησης. Αρχικά, το Netscape 2 ήταν το μόνο πρόγραμμα περιήγησης που υποστηρίζει μια γλώσσα δέσμης ενεργειών και η γλώσσα αυτή αρχικά ονομάστηκε LiveScript. Σύντομα μετονομάστηκε σε JavaScript. Αυτό ήταν σε μια προσπάθεια να εξαργυρώσετε κάποια από τη δημοσιότητα που η Java της Sun γλώσσα προγραμματισμού ήταν εκείνη τη στιγμή.

Ενώ το JavaScript και η Java είναι επιφανειακά όμοια, είναι εντελώς διαφορετικές γλώσσες. Αυτή η απόφαση ονοματοδοσίας έχει προκαλέσει πολυάριθμα προβλήματα για αρχάριους με τις δύο γλώσσες που τους προκαλούν συνεχώς σύγχυση. Απλά θυμηθείτε ότι το JavaScript δεν είναι Java (και αντίστροφα) και θα αποφύγετε πολλή σύγχυση.

Η Microsoft προσπαθούσε να καταγράψει το μερίδιο αγοράς από το Netscape τη στιγμή που το Netscape δημιούργησε JavaScript και έτσι με τον Internet Explorer 3 η Microsoft εισήγαγε δύο γλώσσες δέσμης ενεργειών. Ένας από αυτούς βασίστηκε σε βασικά οπτικά και δόθηκε το όνομα VBscript. Το δεύτερο ήταν ένα lookalike JavaScript, το οποίο η Microsoft ονομάζεται JScript.

instagram viewer

Για να προσπαθήσουμε να ξεπεράσουμε το Netscape, το JScript είχε αρκετές πρόσθετες εντολές και διαθέσιμες λειτουργίες που δεν ήταν στο JavaScript. Το JScript είχε επίσης διεπαφές με τη λειτουργικότητα ActiveX της Microsoft.

Δεδομένου ότι το Netscape 1, ο Internet Explorer 2 και άλλα πρώιμα προγράμματα περιήγησης δεν κατάλαβαν ούτε το JavaScript ούτε το JScript, έγινε α συνηθισμένη πρακτική να τοποθετείται όλο το περιεχόμενο του σεναρίου μέσα σε ένα σχόλιο HTML ώστε να αποκρύπτεται το σενάριο από παλιότερα προγράμματα περιήγησης. Τα νέα προγράμματα περιήγησης, ακόμη και αν δεν μπορούσαν να χειριστούν χειρόγραφα, σχεδιάστηκαν έτσι ώστε να αναγνωρίζουν οι ίδιοι τις ετικέτες δέσμης ενεργειών και έτσι η απόκρυψη του σεναρίου με τοποθέτηση σε ένα σχόλιο δεν ήταν απαραίτητη για οποιαδήποτε προγράμματα περιήγησης που κυκλοφόρησαν μετά IE3.

Δυστυχώς από τη στιγμή που τα εξαιρετικά πρώιμα προγράμματα περιήγησης έπαψαν να χρησιμοποιούνται, οι άνθρωποι είχαν ξεχάσει τον λόγο για το σχόλιο HTML και τόσοι πολλοί νέοι χρήστες JavaScript εξακολουθούν να περιλαμβάνουν αυτές τις εντελώς άχρηστες ετικέτες. Στην πραγματικότητα, συμπεριλαμβανομένου του σχολίου HTML μπορεί να προκαλέσει προβλήματα με τα σύγχρονα προγράμματα περιήγησης. Αν χρησιμοποιείτε XHTML αντί HTML, συμπεριλαμβανομένου του κώδικα μέσα σε ένα σχόλιο σαν αυτό θα έχει ως αποτέλεσμα να κάνει το σενάριο ένα σχόλιο και όχι ένα σενάριο. Πολλά σύγχρονα συστήματα διαχείρισης περιεχομένου (CMS) θα κάνουν το ίδιο.

Με την πάροδο του χρόνου, τα JavaScript και το JScript επεκτάθηκαν για να εισαγάγουν νέες εντολές για να βελτιώσουν την ικανότητά τους να αλληλεπιδρούν με ιστοσελίδες. Και οι δύο γλώσσες πρόσθεσαν νέες λειτουργίες που λειτουργούσαν διαφορετικά από την αντίστοιχη δυνατότητα (αν υπάρχει) στην άλλη γλώσσα.

Ο τρόπος με τον οποίο λειτουργούν οι δύο γλώσσες ήταν αρκετά παρόμοιος ώστε να είναι δυνατή η χρήση της ανίχνευσης του προγράμματος περιήγησης για να διαπιστωθεί αν το πρόγραμμα περιήγησης ήταν Netscape ή IE. Στη συνέχεια θα μπορούσε να εκτελεστεί ο κατάλληλος κώδικας για αυτό το πρόγραμμα περιήγησης. Καθώς η ισορροπία μετατοπίστηκε προς την IE, κερδίζοντας ίσο μερίδιο της αγοράς του προγράμματος περιήγησης με το Netscape, αυτό το ασυμβίβαστο χρειαζόταν ένα ψήφισμα.

Η λύση του Netscape ήταν να παραδώσει τον έλεγχο JavaScript στην Ευρωπαϊκή Ένωση Κατασκευαστών Ηλεκτρονικών Υπολογιστών (ECMA). Η Ένωση επισημοποίησε τα πρότυπα JavaScript με το όνομα ECMAscipt. Ταυτόχρονα, η Κοινοπραξία του Παγκοσμίου Ιστού (W3C) άρχισε να ασχολείται με ένα τυπικό μοντέλο αντικειμένου εγγράφου (DOM) που θα μπορούσε να χρησιμοποιηθεί JavaScript και άλλες γλώσσες δέσμης ενεργειών πλήρη πρόσβαση για να χειραγωγήσουν όλο το περιεχόμενο της σελίδας αντί για την περιορισμένη πρόσβαση που είχε μέχρι εκείνη την εποχή.

Πριν από την ολοκλήρωση του προτύπου DOM, τόσο το Netscape όσο και η Microsoft κυκλοφόρησαν τις δικές τους εκδόσεις. Το Netscape 4 ήρθε με δικό του document.layer DOM και ο Internet Explorer 4 ήρθε με το δικό του document.all DOM. Και τα δύο αυτά μοντέλα αντικειμένων εγγράφων έγιναν ξεπερασμένα όταν οι άνθρωποι σταμάτησαν να χρησιμοποιούν κάποιο από αυτά τα προγράμματα περιήγησης καθώς όλα τα προγράμματα περιήγησης έκτοτε έχουν εφαρμόσει το πρότυπο DOM.

Το ECMAscript και η εισαγωγή του τυποποιημένου DOM σε όλες τις εκδόσεις πέντε και πιο πρόσφατα προγράμματα περιήγησης απομάκρυναν τις περισσότερες ασυμβατότητες μεταξύ του Javascript και του JScript. Ενώ αυτές οι δύο γλώσσες εξακολουθούν να έχουν τις διαφορές τους, είναι τώρα δυνατή η εγγραφή κώδικα που μπορεί να τρέξει και τα δύο JScript στον Internet Explorer και ως JavaScript σε όλα τα άλλα σύγχρονα προγράμματα περιήγησης με πολύ μικρή ανίχνευση χαρακτηριστικών απαιτείται. Η υποστήριξη για συγκεκριμένα χαρακτηριστικά μπορεί να διαφέρει μεταξύ των προγραμμάτων περιήγησης, αλλά μπορούμε να δοκιμάσουμε αυτές τις διαφορές κάνοντας χρήση ενός χαρακτηριστικό ενσωματωμένο και στις δύο γλώσσες από την αρχή που μας επιτρέπει να ελέγξουμε αν το πρόγραμμα περιήγησης υποστηρίζει ένα συγκεκριμένο χαρακτηριστικό. Με τη δοκιμή των συγκεκριμένων λειτουργιών που δεν υποστηρίζουν όλα τα προγράμματα περιήγησης, θα μπορέσουμε να προσδιορίσουμε ποιο κώδικα είναι κατάλληλο για την εκτέλεση στο τρέχον πρόγραμμα περιήγησης.

Η μεγαλύτερη διαφορά τώρα μεταξύ του JavaScript και του JScript είναι όλες οι πρόσθετες εντολές που υποστηρίζει το JScript που επιτρέπουν την πρόσβαση στο ActiveX και στον τοπικό υπολογιστή. Αυτές οι εντολές προορίζονται για χρήση σε τοποθεσίες intranet όπου γνωρίζετε τη διαμόρφωση όλων των υπολογιστών και ότι όλοι εκτελούν τον Internet Explorer.

Υπάρχουν ακόμα μερικές περιοχές που παραμένουν όπου το JavaScript και το JScript διαφέρουν στα μέσα που παρέχουν για να εκτελέσουν μια συγκεκριμένη εργασία. Εκτός από αυτές τις καταστάσεις, οι δύο γλώσσες μπορούν να θεωρηθούν ισοδύναμες μεταξύ τους και έτσι εκτός αν ορίζεται διαφορετικά, όλες οι αναφορές σε JavaScript που θα δείτε συνήθως θα συμπεριλαμβάνονται επίσης JScript.

instagram story viewer