|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.06.2018, 09:53 | #1 |
Форумчанин
Регистрация: 06.09.2016
Сообщений: 199
|
Есть js, как скрыть в нем для других js глобальные переменные(доступные только в html к которому подключается)?
Есть js, как скрыть в нем для других js глобальные переменные(доступные только в html к которому подключается)?
|
15.06.2018, 14:52 | #2 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Создать пространство имён и писать код в нём.
Код:
|
15.06.2018, 15:33 | #3 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
15.06.2018, 23:27 | #4 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Хорошо, быть может, я перепутал термины. Пространство имён организуются с помощью объектов. В качестве примера можно привести Math.
Тем не менее, указанная мной конструкция (самовызывающаяся анонимная функция) изолирует объявленные внутри переменные и функции от глобального пространства имён. |
16.06.2018, 11:27 | #5 |
Раздолбайских Дел
Старожил
Регистрация: 22.05.2009
Сообщений: 3,828
|
Эта самовызывающаяся анонимная функция называется "замыканием". Все переменные и функции, объявленные внутри нее, будут видны только внутри нее. Поэтому это и называется "область видимости" или "пространство имён".
Так что Вадим всё правильно сказал.
Alar, верни репу!
|
16.06.2018, 11:40 | #6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ну так неймспейсом это обычно называют когда оно используется как неймспейс (mynamespace.foo()), а не просто любое замыкание.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
18.06.2018, 00:56 | #7 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Кстати, помню, когда я однажды собеседовался по JS в одной фирме, мне был задан вопрос "что такое замыкание"?
Если я ничего не путаю, я ответил ему, что это самовызывающася функция: Код:
А если путаю, то мой ответ звучал как: "функция, которая сама себя вызывает", из-за чего он мог подумать, что я говорю о рекурсии. НО, в любом случае, отвечая на этот вопрос, я имел в виду как раз автоматический вызов функции, пример которого привёл выше. Просто тут заметил, что термин "самовызывающаяся функция" может быть трактован двояко: 1. автоматический вызов функции (вообще, имхо, лучше использовать именно такой термин, когда речь идёт о вызове автоматом); 2. рекурсия (функция тоже сама себя вызывает в своём теле) |
18.06.2018, 07:41 | #8 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Цитата:
https://developer.mozilla.org/en-US/...cript/Closures
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как убрать глобальные переменные в коде? C++ | Финголфин | Помощь студентам | 3 | 28.01.2016 12:33 |
Глобальные переменные | tae1980 | Microsoft Office Excel | 16 | 20.11.2013 08:41 |
Скрыть глобальные переменные | chillUA | Microsoft Office Excel | 5 | 22.04.2010 22:50 |
delphi Переменные доступные во всех формах | S_Yevgeniy | Помощь студентам | 3 | 25.08.2009 19:10 |
Кто как учил css, html? Только реально хорошие, а не справочники, трудные для понимания.) | nevru1bphp | HTML и CSS | 19 | 09.06.2009 23:38 |