const person = {
firstName: "John",
lastName: "Doe",
id: 5566,
fullName: function() {
return this.firstName + " " +
this.lastName;
}
};Kokeile itse →
<!DOCTYPE html>
<html>
<body>
<h1>The JavaScript <i>this</i> Keyword</h1>
<p>In this example, <b>this</b> refers to the <b>person</b> object.</p>
<p>Because <b>fullName</b> is a method of the person object.</p>
<p id="demo"></p>
<script>
// Create an object:
const person = {
firstName: "John",
lastName: "Doe",
id: 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
// Display data from the object:
document.getElementById("demo").innerHTML = person.fullName();
</script>
</body>
</html>
JavaScriptissä tämä-avainsana viittaa objektiin.
Mikä objekti riippuu siitä, miten tätä kutsutaan (käytetään tai kutsutaan).
Avainsana tämä viittaa erilaisiin objekteihin sen käyttötavan mukaan:
Objektimenetelmässä tämä viittaa objektiin.
Yksin tämä viittaa globaaliin objektiin.
Funktiossa tämä viittaa globaaliin objektiin.
Funktion tiukassa tilassa tämä on määrittämätön.
Tapahtumassa tämä viittaa elementtiin, joka vastaanotti tapahtuman.
Menetelmät, kuten call(), apply() ja bind() voi viitata tähän mihin tahansa objektiin.
tämä ei ole muuttuja. Se on avainsana. Et voi muuttaa tämän arvoa
JavaScript tämä opetusohjelma
JavaScript-menetelmät ovat toimintoja, jotka voidaan suorittaa objekteille.
JavaScriptin menetelmä on ominaisuus, joka sisältää funktion määritelmä.
John
Doe
50
sininen
function() {return this.firstName + " " + this.sukunimi;}
Metodit ovat objektin ominaisuuksiksi tallennettuja toimintoja.
Voit käyttää objektimetodia seuraavalla syntaksilla:
objectName.methodName()Tyypillisesti kuvailet fullName()-metodia henkilö-objektille ja fullName omaisuutena.
FullName-ominaisuus suoritetaan (funktiona), kun sitä kutsutaan komennolla().
Tämä esimerkki käyttää henkilöobjektin fullName() menetelmää:
name = person.fullName();Kokeile itse →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Objects</h2>
<p>Creating and using an object method.</p>
<p>A method is actually a function definition stored as a property value.</p>
<p id="demo"></p>
<script>
const person = {
firstName: "John",
lastName: "Doe",
id: 5566,
fullName: function() {
return this.firstName + " " + this.lastName;
}
};
document.getElementById("demo").innerHTML = person.fullName();
</script>
</body>
</html>
Jos käytät fullName omaisuutta ilman(), se palauttaa funktion määritelmän:
name = person.fullName;Kokeile itse →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Objects</h2>
<p>An object method is a function definition stored as a property value.</p>
<p>If you access it without (), it will return the function definition:</p>
<p id="demo"></p>
<script>
const person = {
firstName: "John",
lastName: "Doe",
id: 5566,
fullName: function() {
return this.firstName + " " + this.lastName;
}
};
document.getElementById("demo").innerHTML = person.fullName;
</script>
</body>
</html>
Uuden menetelmän lisääminen objektiin on helppoa:
person.name = function () {
return this.firstName + " " + this.lastName;
};Kokeile itse →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Objects</h2>
<p id="demo"></p>
<script>
const person = {
firstName: "John",
lastName: "Doe",
id: 5566,
};
person.name = function() {
return this.firstName + " " + this.lastName;
};
document.getElementById("demo").innerHTML =
"My father is " + person.name();
</script>
</body>
</html>
Tässä esimerkissä käytetään String-objektin toUpperCase()-menetelmää tekstin muuntamiseen isoilla kirjaimilla:
let message = "Hello world!";
let x = message.toUpperCase();X:n arvo yllä olevan koodin suorittamisen jälkeen on:
HELLO WORLD!person.name = function () {
return (this.firstName + " " + this.lastName).toUpperCase();
};Kokeile itse →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Objects</h2>
<p id="demo"></p>
<script>
const person = {
firstName: "John",
lastName: "Doe",
id: 5566,
};
person.name = function() {
return (this.firstName + " " + this.lastName).toUpperCase();
};
document.getElementById("demo").innerHTML =
"My father is " + person.name();
</script>
</body>
</html>