const person = {
firstName: "John",
lastName: "Doe",
id: 5566,
fullName: function() {
return this.firstName + " " +
this.lastName;
}
};Попробуйте сами →
<!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>
В JavaScript ключевое слово this относится к объекту.
Какой объект зависит от того, как этот вызывается (используется или вызывается).
Ключевое слово this относится к разным объектам в зависимости от того, как оно используется:
В объектном методе this относится к объекту.
Само по себе это относится к глобальному объекту.
В функции this относится к глобальному объекту.
В функции в строгом режиме это имеет значение не определено.
В событии this относится к элементу, получившему событие.
Такие методы, как call(), apply() и bind() может ссылаться на this на любой объект.
это не является переменной. Это ключевое слово. Вы не можете изменить значение this
это руководство по JavaScript
Методы JavaScript — это действия, которые можно выполнять над объектами.
Метод JavaScript - это свойство, содержащее функцию. определение.
Джон
Доу
50
синий
function() {return this.firstName + " " + this.lastName;}
Методы — это функции, хранящиеся как свойства объекта.
Доступ к методу объекта осуществляется с помощью следующего синтаксиса:
objectName.methodName()Обычно вы описываете функцию fullName() как метод объекта person, а полное имя в качестве свойства.
Свойство fullName будет выполняться (как функция) при вызове с помощью().
В этом примере осуществляется доступ к методу fullName() объекта person:
name = person.fullName();Попробуйте сами →
<!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>
Если вы получаете доступ к свойству FullName без(), оно вернет определение функции:
name = person.fullName;Попробуйте сами →
<!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>
Добавить новый метод к объекту легко:
person.name = function () {
return this.firstName + " " + this.lastName;
};Попробуйте сами →
<!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>
В этом примере используется метод toUpperCase() объекта String для преобразования текста в верхний регистр:
let message = "Hello world!";
let x = message.toUpperCase();Значение x после выполнения приведенного выше кода будет:
HELLO WORLD!person.name = function () {
return (this.firstName + " " + this.lastName).toUpperCase();
};Попробуйте сами →
<!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>