2016-02-01 4 views
-1

Можно ли объявить и установить глобальную переменную со значением в одном файле js в другом файле js, независимо от того, сколько раз?javascript - Глобальная переменная

Помимо файлов html, можно использовать угловой.js в файле макроса скорости?

+0

Да, если любые файлы javascript создаются после файла javascript, который определяет глобальный переменная. –

+0

@ DanielShillcock вы должны опубликовать его как ответ, прежде чем он будет закрыт lol –

+0

Привет, daniel ... рассмотрим, что у меня есть файл js, который появляется только во время входа в систему. Я создаю глобальную переменную в этом файле. ..i вызывать разные js и пытаться использовать эту глобальную переменную здесь ... это сработает? – user2918673

ответ

3

Если глобальная переменная определена в одном скрипте, она будет доступна для всех других скриптов на странице, как только она будет определена исходным скриптом. Глобальный глобальный - он доступен во всех ваших Javascript на этой странице.

Но любая переменная Javascript длится только на протяжении текущей страницы. Как только вы загружаете другую страницу, все глобальные переменные с предыдущей страницы исчезают, и создается совершенно новый контекст Javascript и будет инициализирован загрузкой любых скриптов на этой новой странице. Никакие переменные Javascript не сохраняют свое значение с одной страницы на другую.

Если вы хотите сохранить какое-либо состояние таким образом, чтобы состояние было доступно на разных страницах, вы должны либо сохранить это состояние на сервере (где он может быть запрошен с сервера), либо в файле cookie (где скрипт может читать это из файла cookie) или в LocalStorage (где скрипт может прочитать его из ключа LocalStorage).

Если значение было в переменной с именем username, то вы можете хранить и извлекать его, как это:

// store the variable in localStorage 
localStorage.setItem("user", username); 


// and get the value from some other page 
var username = localStorage.getItem("user"); 
+0

ok LocalStorage - хороший выбор ... – user2918673

+0

@ user2918673 - Просто помните, что при использовании LocalStorage это похоже на очень простая база данных. Вы можете что-то там хранить, и если вы хотите использовать его на следующей странице, вы должны прочитать значение из LocalStorage для его получения. Также помните, что данные, хранящиеся в LocalStorage, доступны только для домена, из которого он был написан (по соображениям безопасности и конфиденциальности). – jfriend00

0

Вы должны использовать переменную LocalStorage как:

<script> 
     var v=localStorage.setItem("variable","value"); 
</script> 

Это можно сказать для глобальной переменной, доступ к которой в любом другом файле:

<script> 
     var val=localStorage.getItem("variable"); 
</script> 
0

Факс: Сначала я скажу, что я сказал в комментариях: , что глобальная переменная будет доступна только для javascript, загруженного на ту же страницу.

Теперь, если вы используете угловые, вы должны использовать константу (например: http://twofuckingdevelopers.com/2014/06/angularjs-best-practices-001-constants/, это только справедливо, если вы делаете одно приложение страницы, хотя

Вы можете использовать скорость, чтобы сделать ваш HTML/JS. файлы, но вы должны быть очень осторожны, потому что скорость имеет свои собственные шаблоны и угловые. Смешивание двух типов шаблонов несколько рискованно в отношении поддержки и разделения беспокойства. Я предлагаю вам выбрать тот, который вы будете использовать в своих самых полных и другое, только если вам действительно нужно и не использовать их для одного и того же.

Смежные вопросы