Ознакомился с function,и ее параметрами,если создавать переменную внутри функции,существовать она будет только в этой функции(локальная переменная):
- function showMessage(//параметр) {
- let message = "Привет, я JavaScript!"; // локальная переменная
- alert( message );
- }
К внешним переменным,функция,имеет полный доступ и может изменять их значение.Если одноименная переменная объявляется внутри функции ,она перекрывает внешнюю.
Параметр функции↓
Используя параметр можно передать внутрь функции любую информацию:
- function showMessage(from, text) {
- // аргументы: from, text
- alert(from + ': ' + text);
- }
- showMessage('Аня', 'Привет!');
- showMessage('Аня', "Как дела?")
- // Аня: Привет! (*) ; // Аня: Как дела? (**)
Когда функция вызывается в строках (*) и (**), переданные значения копируются в локальные переменные from и text. Затем они используются в теле функции.
Возврат (return)↓
Функция может вернуть результат, который будет передан в вызвавший её код.Директива return может находиться в любом месте тела функции. Как только выполнение доходит до этого места, функция останавливается, и значение возвращается в вызвавший её код.
Функция-конструктор↓
Функции-конструкторы являются обычными функциями. Но есть два соглашения:
- Имя функции-конструктора должно начинаться с большой буквы.
- Функция-конструктор должна вызываться при помощи оператора "new".
- function User(name) {
- this.name = name;
- this.isAdmin = false;
- }
- let user = new User("Вася");
- alert(user.name); // Вася
- alert(user.isAdmin); // false
Когда функция вызывается как new User(...), происходит следующее:
- Создаётся новый пустой объект, и он присваивается this.
- Выполняется код функции. Обычно он модифицирует this, добавляет туда новые свойства.
- Возвращается значение this.
То есть, результат вызова new User("Вася") – это тот же объект, что и:
- let user = {
- name: "Вася",
- isAdmin: false };
Итого
- Функции-конструкторы или просто конструкторы являются обычными функциями, именовать которые следует с заглавной буквы.
- Конструкторы следует вызывать при помощи оператора new. Такой вызов создаёт пустой this в начале выполнения и возвращает заполненный в конце.