Καλώντας Javascript μεθόδους σε άλλα αντικείμενα | H χρήση της Jav...

Καλώντας Javascript μεθόδους σε άλλα αντικείμενα

H χρήση της Javascript πάντα μας δίνει απεριόριστες δυνατότητες! Σε αυτό το άρθρο θα σας δείξουμε πως χρησιμοποιούμε Javascript μεθόδους , call και apply , για να καλέσουμε συναρτήσεις μέσα από άλλα αντικείμενα της Javascript. Ας αρχίσουμε.!


Video στα αγγλικά

Χρησιμοποιώντας Call και Apply μέθοδο

Εδώ είναι το σενάριο. Έχουμε 2 αντικείμενα ( Objects ):

  1. var joe = {
  2. name : "Joe",
  3. greet : function (name) {
  4. alert(this.name + " says hello to " + name);
  5. }
  6. };

  7. var jill = {
  8. name : "Jill"
  9. }; 

Είναι αρκετά απλό να πει ένα "γεια" ο Joe στην Jill. :

  1. joe.greet("Jill");

Άλλα πως μπορεί η Jill να δώσει τα χαιρετίσματα της στον Joe; H Jill δεν χρησιμοποιεί καλή μέθοδο για να το κάνει αυτό ( και ας υποθέσουμε ότι δεν μπορούμε / δεν θέλουμε / δεν πρέπει να δώσει η Jill έναν χαιρετισμό).Λοιπόν, γιατί τα πάντα σε JavaScript-συμπεριλαμβανομένων των συναρτήσεων (functions) -  είναι ένα αντικείμενο (object) , τα πάντα μπορούν να έχουν μια μέθοδο (method), ή μια συνάρτηση (function) που μπορεί να χαρακτηριστεί από αυτό. Στις συναρτήσεις δίνονται δύο μέθοδοι που σας επιτρέπουν να τους καλέσετε σε διαφορετικά πλαίσια.

Μια μέθοδος είναι ουσιαστικά η ύπαρξη ενός αντικειμένου (Object) όταν καλεστεί μια συνάρτηση. Στην μέθοδό μας αυτό καλείται από το αντικείμενο joe επειδή είναι μέρος αυτού.

Προσπαθήστε αυτό :

  1. joe.greet.call(jill, "Joe");

Η μέθοδος call στην συνάρτηση της Javascript μας επιτρέπει να αλλάξουμε το περιεχόμενο της συνάρτησης. Στην πρώτη παράμετρο περνάμε νέο περιεχόμενο και αυτό είναι το όνομα της Jill. Οι επόμενες παράμετροι είναι οι παράμετροι για τη συνάρτηση που καλείτε.Εάν εκτελέσετε αυτό, θα εμφανιστεί σχετικό μήνυμα "Jill λέει γεια στον Joe."

Υπάρχει και η μέθοδος Apply. Η μόνο διαφορά της μεθόδου αυτής με την μέθοδο call είναι ότι παίρνει τις παραμέτρους της μεθόδου σαν έναν πίνακα (array) σε σχέση με την μέθοδο call όπου χρησιμοποιήσαμε ένα μεταβλητή τύπου String.

  1. joe.greet.call(jill, ["Joe"]);

Αν δεν μπορείτε να θυμηθείτε τις παραμέτρους που καταχωρούμε στις μεθόδους call και apply θυμηθείτε ότι η μέθοδος apply και η χρήστη array ( πίνακα ) αρχίζουν από τον ίδιο χαρακτήρα "a".

Πηγή: net.tutsplus.com από Andrew Burgess

Κατηγορία:

Ιστολόγιο
https://www.webgift.gr/templates/core_webgift/
0