Я просматривал переменной доступности функций против глобального масштаба и наткнулся на что-то новое, и спрашивает, если следующее является правильным:Возвращаемые значения в JavaScript функции
function foo(){
message='Hi'
}
alert(message); //ReferenceError: message is not defined
Это возвращает ошибку, потому что foo
не было где-то еще, но как только вы это сделаете, он доступен в глобальном пространстве. Понял.
Однако я читал где-то, кроме того, что явным образом функции возвращают значение (т. Е. Используя ключевое слово return), мы используем их для своих побочных эффектов (например, представьте, что я поставил эту функцию предупреждения внутри foo, на которую я только что ссылался).
Так вышло, как-то возвращающее значение так же, как при использовании ключевого слова return
?
ОБНОВЛЕНИЕ Я получаю много отзывов, но, возможно, я должен повторить вопрос. Является фактом вызова функции, помещающей ее в глобальную область. Как то, что происходит за кулисами ...? Я думаю, что некоторые люди могут думать (как и я), просто опуская var, это в глобальном масштабе. На самом деле, для тех, кто не знает, вы должны сначала вызвать функцию. СПАСИБО!
Трудно понять, что вы имеете в виду. То, что обычно было бы делать, это 'function foo() { return 'Hi'; } alert (foo()); ' – mplungjan
Функция' foo' не возвращает никакого значения, потому что у нее нет ключевого слова 'return'. Это может иметь побочные эффекты, такие как добавление значения в глобальную область, но это отличается от возвращаемого. –