Методы JavaScript


Оглавление

    Показать оглавление


Пример

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 — это действия, которые можно выполнять над объектами.

Метод JavaScript - это свойство, содержащее функцию. определение.

firstName

Джон

lastName

Доу

age

50

eyeColor

синий

fullName

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>