Metody obiektu w JavaScript

Przykład

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

Spróbuj sam

metody JavaScript

Metody JavaScript są działaniami, które można wykonać na obiekcie.

JavaScript metodajest zawartydefinicja funkcjiatrybutów.

atrybut wartość
firstName Bill
lastName Gates
age 62
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

metoda jest funkcją przechowywaną jako atrybut obiektu.

this słowo kluczowe

w JavaScriptie nazywa się this rzeczy, oznacza to obiekt posiadający ten kod JavaScript.

this wartości, w funkcji używanej, to obiekt "posiadający" tę funkcję.

Proszę zauważyć this nie jest zmienną. Jest to słowo kluczowe. Nie możesz zmienić this wartości.

uzyskanie dostępu do metody obiektu

Aby utworzyć metodę obiektu, użyj następującej gramatyki:

methodName : function() { wiersz kodu }

Aby uzyskać dostęp do metody obiektu, użyj następującej gramatyki:

objectName.methodName()

Zwykle opisujesz fullName() jako metodę obiektu person, a fullName jako atrybut.

fullName atrybut jest wykonywany jako funkcja po wywołaniu ()

W tym przykładzie odnosi się do metody fullName() obiektu person metoda:

Przykład

name = person.fullName();

Spróbuj sam

Jeśli odwiedzasz fullName atrybutjeśli funkcja nie używa ()definicja funkcji:

Przykład

name = person.fullName;

Spróbuj sam

używając wbudowanych metod

W tym przykładzie użyto obiektu toUpperCase() Metoda, która konwertuje tekst na wielkie litery:

var message = "Hello world!";
var x = message.toUpperCase();

Wartość x, po wykonaniu powyższego kodu, będzie:

HELLO WORLD!

Dodaj nową metodę

Dodawanie metod do obiektu jest wykonywane wewnątrz funkcji konstruktora:

Przykład

function person(firstName, lastName, age, eyeColor) {
    this.firstName = firstName;  
    this.lastName = lastName;
    this.age = age;
    this.eyeColor = eyeColor;
    this.changeName = function (name) {
        this.lastName = name;
    };
}

Wartość zmiennej name funkcji changeName przypisuje się atrybutowi lastName person.

Teraz możesz spróbować:

myMother.changeName("Jobs");

Spróbuj sam

Przez zastąpienie myMother „this”, JavaScript wie, który person指的是.