как вернуть значение из функции return
Доброго дня, возникла такая необходимость вернуть значение из функции но она прописана из другого метода
function send(xhttp) { return xhttp.onreadystatechange = function() { ... return значение; } //она возвращает весь текст функции а не отработаное значение } подскажите пожалуйста что делать |
такое поведение невозможно по очевидным причинам. И всем уже надоело отвечать на этот вопрос.
Причина в том что ты используешь оператор "=" и оператор "function" если ты поймешь почему ты их используешь станет очевидно почему нельзя вернуть значение из вложенной функции. |
но xhttp.onreadystatechange это же состояние
если его проверить и по нему вернуть результат? |
Цитата:
"xhttp" -- это объект "." -- точка это оператор который позволяет обратится к свойствам объекта onreadystatechange -- это свойство объекта которому ты присваиваешь значение с помощью оператора "=" и присваиваешь ты ему результат работы другого оператора "function" Твоя проблема в том что ты не понимаешь как работает строчка из трех операторов и придумываешь абстрактные понятия такие как "состояние". В JavaScript нет такого типа данных как "состояние" следовательно такой тип данных нельзя ни сохранить ни передать. Если тебе необходимо что то похожее ты должен сам это реализовать тем или иным способом. В данном случае используется тип данных функция. т.е. return xhttp.onreadystatechange = function() { ... return ...; } ---- вернуть объект свойству которому присвоена функция Все. ненужно ничего усложнять и придумывать какие то состояния Еще пару вещей от К.О. 1. Функция возвращает значение только когда ее вызывают 2. В приведенном коде функция присваивается свойству 3. В приведенном коде нет вызова функции которая присваивается свойству следовательно вернуть значение без вызова она не может. |
а когда или как происходит вызов функций из свойства
или что обращается к свойству как к функции? |
Цитата:
https://xhr.spec.whatwg.org/#handler...adystatechange Функции которые вызывает среда исполнения можно называть событиями. Для того чтобы привязать события к конкретным объектам используют свойства этих объектов т.е. присваивают свойствам функции (обработчики событий) |
Часовой пояс GMT +3, время: 18:33. |