Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.05.2020, 20:31
Zay Zay вне форума
Интересующийся
Отправить личное сообщение для Zay Посмотреть профиль Найти все сообщения от Zay
 
Регистрация: 28.05.2020
Сообщений: 13

Функция, где её вызов?
function checkAge(age) {
if (age>18) {
return true;
} else {
return confirm (''разрешили родители?'');
}
}
var age = prompt ("сколько лет вам?", 18);

if (checkAge(age)) {
alert ("доступ получен");
} else {
alert ('доступ закрыт');
}


Помогите разобраться... читая про функции, понял, что должен быть её вызов. В этом коде, где её вызов?
Ответить с цитированием
  #2 (permalink)  
Старый 28.05.2020, 20:32
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

if (checkAge(age)) {
Ответить с цитированием
  #3 (permalink)  
Старый 28.05.2020, 21:03
Zay Zay вне форума
Интересующийся
Отправить личное сообщение для Zay Посмотреть профиль Найти все сообщения от Zay
 
Регистрация: 28.05.2020
Сообщений: 13

А вызов функции разве не должен выглядеть без if, например так: checkAge?, или любое упоминание функции с любыми "командами" автоматически делает её вызов и переход в данном случае на верх к function.
Ответить с цитированием
  #4 (permalink)  
Старый 28.05.2020, 21:09
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

Если не нравится такой вызов функции, то можно переменную добавить:
let nenedorosl = checkAge(age);

if (nenedorosl) { ....
Ответить с цитированием
  #5 (permalink)  
Старый 28.05.2020, 21:11
Zay Zay вне форума
Интересующийся
Отправить личное сообщение для Zay Посмотреть профиль Найти все сообщения от Zay
 
Регистрация: 28.05.2020
Сообщений: 13

Мне не не нравится, ... и я не волшебник, а только учусь, поэтому и вопросы у меня такие...
Ответить с цитированием
  #6 (permalink)  
Старый 28.05.2020, 21:13
Zay Zay вне форума
Интересующийся
Отправить личное сообщение для Zay Посмотреть профиль Найти все сообщения от Zay
 
Регистрация: 28.05.2020
Сообщений: 13

Так вопрос в силе... при любом упоминании функции она вызывается?
Ответить с цитированием
  #7 (permalink)  
Старый 28.05.2020, 21:16
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Zay
А вызов функции разве не должен выглядеть без if
Образно говоря нет, функция вызывается там где ее выполнение необходимо, а в условии ли это или нет, не суть.

Ваша функция возвращает булево значение true в том случае, если ввели возраст более 18, в противном случае запрос confirm() и если в нем будет выбрано "да", то тоже вернет true. Иначе функция вернет false.

Здесь if (checkAge(age)) вызывается эта функция со значением, которое получено от prompt() и анализируется возвращенное ею значение. Можно было бы и так сделать:

var age = prompt ("сколько лет вам?", 18);
var check = checkAge(age);
if (check) { ....


Но большого смысла в этом нет.
Ответить с цитированием
  #8 (permalink)  
Старый 28.05.2020, 21:24
Zay Zay вне форума
Интересующийся
Отправить личное сообщение для Zay Посмотреть профиль Найти все сообщения от Zay
 
Регистрация: 28.05.2020
Сообщений: 13

Вроде понятно, спасибо. Просто хотел перевести всё на пррстой и понятный мне язык)... и наверное не правильно выразился. И всё таки можно сказать что : if (checkAge (age)) дает толчёк к выполнению функции?
Ответить с цитированием
  #9 (permalink)  
Старый 28.05.2020, 21:36
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну если переводить на понятный и принять "толчок", то проще будет так:

if( здесь вызываем функцию после выполнения которой тут будет true или false ), что и нужно, ибо if это анализ булевого значения. Стоит только помнить, что true также вернет, например, значение больше 0, не пустая строка.

Последний раз редактировалось laimas, 28.05.2020 в 21:39.
Ответить с цитированием
  #10 (permalink)  
Старый 28.05.2020, 21:42
Zay Zay вне форума
Интересующийся
Отправить личное сообщение для Zay Посмотреть профиль Найти все сообщения от Zay
 
Регистрация: 28.05.2020
Сообщений: 13

Спасибо, удачи.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как-то странно работает код. Не выполняется целиком функция Yuriy-155 jQuery 7 22.11.2019 16:14
Глубокое копирование в JavaScript. Функция + объект. Launder Общие вопросы Javascript 8 03.10.2019 18:50
Просмотрела исходик jQuery Откорректируйте где не верно taksebe jQuery 5 23.11.2018 22:42
Непредсказуемая функция. Rora_ Node.JS 3 07.11.2017 08:34
Как узнать где находится функция, на которую указывает javascript:openTag('mgmt') amigo* Общие вопросы Javascript 13 11.04.2012 12:11