Алексей Клименков
Алексей Клименков

JavaScript. Можно ли использовать переменную объявленную внутри функции, вне функции? вн код



прив. смотрю ща уроки, и там сказано что такой код не выведет на экран слово Петька, а у меня выводит, не подскажете что это такое? оО
function test()
{
var name = "Петька";
document.write(name);
}
document.write(name);

да это какой-то глюк браузера был, всем сяп

Галина Унанян
Галина Унанян

Делаете в функции так.. .

window.name = "Петька";

и можете использовать где угодно, но только после вызова функции.

AK
Alex Klyuykov

Выводит то оно выводит. Только сколько раз?
Если один раз, то это нормально. Так как функция при вызове выводит значение своей (локальной переменной) .
То есть на экран выводится первый document.write(name);
Второй document.write(name);, который вне тела функции не выводит ничего.
Если все же выводит два раза. Значит ты где-то выше объявил глобальную переменную name с тем же значением.

P.S. То что говорят в твоем видео абсолютно верно, переменные объявленные в теле функции недоступны извне. Но доступны другим функциям объявленным внутри этой функции.

АР
Анна Разоренова

Нурбек, тебе не кажется странным, что функция тут не вызывается? Видимо, чувак привёл далеко не весь код.

ИЕ
Ирина Ерохова

Нурбек прав, только переменную в функции можно использовать как глобальную, а значит и вне функции! Если убрать var то переменную можно использовать и вне функции (объявляется как глобальная) . Или попробуй объявить вне функции!

Объявление вне функции:

var name - как глобальная.

Объявление внутри функции:

var name - как локальная.
name - как глобальная.

Похожие вопросы
JAVASCRIPT. переменные
Вопрос по коду JavaScript
как в одном скрипте использовать переменную из другого скрипта? (Javascript)
Как использовать javascript в delphi?
Как записать код html страницы в переменную типа string в javascript?
Изменение переменной при выборе checkbox javascript
Параметры функции в javascript
Можно ли каким-то образом объявить суперглобальную переменную на php? Либо вне функции объявить локальную переменную?
Объявление переменных в for (C++)
Javascript. Скажите, почему setInterval("код", 1000); внутри цикла while ?. Внутри целый код