Αντικείμενα JavaScript

真实生活中的对象、属性和方法

在真实生活中,汽车是一个对象.

汽车有诸如车重和颜色等属性,也有诸如启动和停止的函数:

对象 属性 函数

car.name = porsche

car.model = 911

car.length = 4499mm

car.color = white

car.start()

car.drive()

car.brake()

car.stop()

所有汽车都拥有同样的属性,但属性值因车而异。

所有汽车都拥有相同的函数,但是方法会在不同时间被执行。

Αντικείμενα JavaScript

您之前已经学到,JavaScript 变量是数据值的容器。

这段代码把一个单一值(porsche)赋给名为 car 的变量:

var car = "porsche";

Δοκιμάστε το شخصικά

对象也是变量。但是对象包含很多值。

这段代码把多个值(porsche, 911, white)赋给名为 car 的变量:

var car = {type:"porsche", model:"911", color:"white"};

Δοκιμάστε το شخصικά

值以名称:值以名称:值对的方式来书写(名称和值由冒号分隔)。

JavaScript 对象是被命名值的容器。

对象属性

(JavaScript 对象中的)名称:值对被称为属性.

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
属性 属性值
firstName Bill
lastName Gates
age 62
eyeColor blue

对象函数

对象也可以有函数.

函数是在对象上执行的动作.

函数以Δημιουργία συνάρτησης存储在属性中。

属性 属性值
firstName Bill
lastName Gates
age 62
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

函数是以属性的形式存储的。

Εκδείγματα

var person = {
  firstName: "Bill",
  lastName : "Gates",
  id       : 678,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

λέξη-κλειδί this

Στην οριστική της συνάρτησηςthis αναφέρεται στον "έχοντα" της συνάρτησης.

Στο παραπάνω παράδειγμαthis σημαίνει το "έχει" τη συνάρτηση fullName Αντικείμενο person.

Με άλλα λόγιαthis.firstName το εννοεί Αντικείμενο thisτου firstName ιδιοτητας.

Παρακαλώ Λέξη-κλειδί this JSΣε αυτό το κεφάλαιο θα μάθετε περισσότερα για τη λέξη-κλειδί this.

Δημιουργία αντικειμένου

Δημιουργήσαμε (ανήχθηκα) ένα αντικείμενο JavaScript:

Εκδείγματα

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};

Δοκιμάστε το شخصικά

Ο χώρος και η παύση γραμμής είναι επιτρεπόμενες. Η διατύπωση αντικειμένων μπορεί να διασχίζει πολλές γραμμές:

Εκδείγματα

var person = {
    firstName:"Bill",
    lastName:"Gates",
    age:50,,
    eyeColor:"blue"
};

Δοκιμάστε το شخصικά

Προσέγγιση ιδιοτήτων αντικειμένου

Μπορείτε να προσπέφτετε στις ιδιότητες του αντικειμένου με δύο τρόπους:

objectName.propertyName

ή

objectName["propertyName"]

Παράδειγμα 1

person.lastName;

Δοκιμάστε το شخصικά

Παράδειγμα 2

person["lastName"];

Δοκιμάστε το شخصικά

Προσέγγιση μεθόδου αντικειμένου

Μπορείτε να προσπέφτετε στις μεθόδους του αντικειμένου με την ακόλουθη σύνταξη:

objectName.methodName())

Εκδείγματα

name = person.fullName();

Δοκιμάστε το شخصικά

ΑνΧωρίς () Ανακτήστε τη μέθοδο fullName, θα επιστρέψειΔημιουργία συνάρτησης:

Εκδείγματα

name = person.fullName;

Δοκιμάστε το شخصικά

Τα μεθόδους αποθηκεύονται ως αξίες ιδιοτήτων.

Παρακαλώ μη δηλώνετε συμβόλαια, αριθμούς και boolean τιμές ως αντικείμενα!

Αν χρησιμοποιήσετε τη λέξη-κλειδί "new" για να δηλώσετε μεταβλητές JavaScript, τότε η μεταβλητή αυτή θα δημιουργηθεί ως αντικείμενο:

var x = new String();        //   Ανήκω x σε αντικείμενο String
var y = new Number();        //   Ανήκω y σε αντικείμενο Number
var z = new Boolean();       //   Ανήκω z σε αντικείμενο Boolean

Αποφύγετε τις αλφαριθμητικές, αριθμητικές ή λογικές αντικειμένων. Αυτές θα προσθέσουν δυσκολία στο κώδικα και θα μειώσουν την ταχύτητα εκτέλεσης.

Θα μάθετε περισσότερα για τα αντικείμενα σε αργότερες ενότητες αυτού του οδηγού.

Εκπαιδευτικό βιβλίο

Για περισσότερες πληροφορίες σχετικά με Αντικείμενα JavaScriptΓια περισσότερες πληροφορίες, διαβάστε τα σχετικά περιεχόμενα του προχωρημένου οδηγού JavaScript:

Τεχνολογία αντικειμένων ECMAScript
Αυτή η ενότητα παρουσιάζει τις έννοιες της τεχνολογίας αντικειμένων, τις απαιτήσεις μιας γλώσσας αντικειμένων και τη δομή ενός αντικειμένου.
Εφαρμογή αντικειμένων ECMAScript
Αυτή η ενότητα συνοψίζει τη δημιουργία και την υλοποίηση αντικειμένων, την αναφορά και την αφαίρεση αντικειμένων, και το έννοια του binding.
Τύποι αντικειμένων ECMAScript
Αυτή η ενότητα παρουσιάζει τα τρία τύποι αντικειμένων ECMAScript: τοπικά αντικείμενα, εσωτερικά αντικείμενα και αντικείμενα γηπέδου, και παρέχει συνδέσμους για σχετικές αναγνωριστικές οδηγίες.
Όριο αντικειμένων ECMAScript
Αυτή η ενότητα εξηγεί την περιοχή του ECMAScript και τον κλειδί this.
Ορισμός κλάσεων ή αντικειμένων ECMAScript
Αυτή η ενότητα εξηγεί σε λεπτομέρεια τα διάφορα μονοπάτια δημιουργίας αντικειμένων ή κλάσεων ECMAScript.
Τροποποίηση αντικειμένων ECMAScript
Αυτή η ενότητα εξηγεί πώς να τροποποιήσετε τα αντικείμενα δημιουργώντας νέες μεθόδους ή επαναπροσδιορίζοντας υπάρχουσες μεθόδους.