Σε Javascript, ποια είναι η διαφορά μεταξύ: function Person () {} var person = Πρόσωπο () var person = new Person ();


Απάντηση 1:

1. λειτουργία Πρόσωπο () {}

2. var person = Πρόσωπο ()

πρόσωπο

3. var person = new Πρόσωπο ()

Αντικείμενο

Ονομα

Επίθετο

Ημερομηνια γεννησης

λειτουργία Πρόσωπο (όνομα, επώνυμο, ημερομηνία γέννησης) {
this.firstname = όνομα;
this.lastname = όνομα;
this.fullname = this.firstname + '' + this.lastname;
this.dateofbirth = νέα ημερομηνία (ημερομηνία της γέννησης);
this.age = λειτουργία () {
var σήμερα = νέα Ημερομηνία ();
var γενέθλια = νέα Ημερομηνία (this.datebrebirth);
var χρόνια = σήμερα.getFullYear () - birthday.getFullYear ();

// Επαναφορά γενεθλίων στο τρέχον έτος.
birthday.setFullYear (this.dateofbirth.getFullYear ());

// Εάν τα γενέθλια του χρήστη δεν έχουν συμβεί ακόμα φέτος, αφαιρέστε 1.
αν (σήμερα <γενέθλια) χρόνια--;

έτη επιστροφής ·
},

Επιστροφή (this.fullname + 'γεννήθηκε στο' + this.dateofbirth.getFullYear () + ', έτσι' + this.firstname + 'είναι τώρα' + this.age () + 'ετών.');
}}
var person = Πρόσωπο ('Dave', 'Gahan', '1962-05-09');
console.log (πρόσωπο);
Ο Dave Gahan γεννήθηκε το 1962, οπότε ο Dave είναι τώρα 53 ετών.
var πρόσωπο = νέο πρόσωπο ('Adam', 'Ant', '1954-11-03');
console.log (πρόσωπο);
Ηλικία: λειτουργία () ημερομηνία γέννησης: Τετ Νοε 03 1954 01:00:00 GMT + 0100 όνομα: "Adam" ονοματεπώνυμο: "Adam Ant" επώνυμο: "Ant" __ proto__:

προσωπικότητα();

person.bio = "Ο Dandy Highwayman που είστε πολύ φοβισμένος για να αναφέρετε. Αυτός ξοδεύει τα χρήματά του για να φανεί flash και να πάρει την προσοχή σας"?
person.motto = "Ridicule δεν είναι τίποτα να φοβάται".
Πρόσωπο {όνομα: "Adam" επώνυμο: "Ant" όνομα: "Adam Ant" ημερομηνία γέννησης: Τετ 03 Νοεμβρίου 1954 01:00:00 GMT + 0100age: () bio: "Dandy Highwayman ότι είστε πολύ φοβισμένοι για να αναφέρω. Ξοδεύει τα χρήματά του για να φανεί φλας και να πάρει την προσοχή σας "το σύνθημα:" Ridicule δεν είναι τίποτα να φοβάται "__ proto__: Πρόσωπο}

Απάντηση 2:

Ναι, έμαθα C, τότε C ++, τότε Java, τότε C # ... Έτσι, από τη στιγμή που σπούδασα JavaScript σοβαρά είχα αυτή την υποτιθέμενη ιδέα για το πώς θα έπρεπε να λειτουργήσει το JavaScript.

Για μένα, η νέα είναι μια μαγική λέξη που δημιουργεί αντικείμενα. Αλλά σε πολλούς ανθρώπους, με βάση το "Τα καλά μέρη", η έννοια του νέου δεν είναι κατάλληλη στο JavaScript και είναι καλύτερο να χρησιμοποιήσουμε κάποιο είδος εργοστασιακής μεθόδου για τη δημιουργία αντικειμένων.

Δεν νομίζω ότι έχει σημασία, αλλά πόσο σαφές είναι σε άλλους ανθρώπους ποιες είναι οι προθέσεις σας; Μπορείτε να γράψετε μια λειτουργία μη κατασκευαστή για να δημιουργήσετε αντικείμενα. Αλλά βεβαιωθείτε ότι άλλοι άνθρωποι μπορούν να διαβάσουν τον κωδικό σας και να καταλάβουν πώς δημιουργείτε αντικείμενα. Πώς παρουσιάζετε άλλους ανθρώπους "Γεια σου, αυτή η λειτουργία είναι ξεχωριστή, είναι αυτή που δημιουργεί αυτά τα αντικείμενα και εδώ υπάρχει ένα σχήμα που δείχνει πώς μοιάζουν τα αντικείμενα!" ???