JavaScript Objektmethoder

Exempel

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

Prova själv

JavaScript-metoder

JavaScript-metoder är åtgärder som kan utföras på objekt.

JavaScript MetodinnehållerFunktion-definitionegenskap.

Egenskaper värde
firstName Bill
lastName Gates
age 62
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

Metoder är funktioner som lagras som objektets egenskaper.

this nyckelord

i JavaScript, kallas this det, som innebär att det är objektet som har detta JavaScript-kod.

this värdet, när det används i en funktion, är "ägare" till funktionen. Det är

Observera this är inte en variabel. Det är ett nyckelord. Du kan inte ändra this värdet.

Besök objektmetoder

Skapa objektmetoder med följande syntax:

methodName : function() { Kodrad }

Besök objektmetoder med följande syntax:

objectName.methodName()

Du skulle vanligtvis beskriva fullName() som en metod på person-objektet, och fullName som en egenskap.

fullName-egenskapen körs som en funktion när den anropas genom ()

Detta exempel besöker person-objektets fullName() Metod:

Exempel

name = person.fullName();

Prova själv

Om du besöker fullName EgenskaperOm du inte använder () vid definition, kommer det att returneraFunktion-definition:

Exempel

name = person.fullName;

Prova själv

Använd inbyggda metoder

Detta exempel använder String-objektets toUpperCase() Metod, konvertera text till stor bokstav:

var message = "Hej världen!";
var x = message.toUpperCase();

Värdet av x, efter att ovanstående kod har körts, kommer att vara:

HELLO WORLD!

Lägg till nya metoder

Att lägga till nya metoder utförs inom konstruktionsfunktionen:

Exempel

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;
    };
}

changeName() funktionens name-värde tilldelas personens lastName-attribut.

Nu kan du försöka:

myMother.changeName("Jobs");

Prova själv

Genom att använda myMother "ersätt" this, förstår JavaScript vilken person du syftar på.