Важно отметить, что в хранилище хранятся только строки .... логические значения и числа должны быть приведены к типу при извлечении, а массивы / объекты должны быть преобразованы в строку и проанализированы

я есть 2 файла js: 1.js и 2.js.
В 1.js у меня есть переменная

var test ='Hello';

Я пытаюсь получить доступ к переменной в 2.js

alert(test);

Образец кода:
1.js:

$(document).ready(function () {
    var test = 'Hello';
});

2.js:

 $(function () {
       function getData(){
            alert(test);
       }
   }); 

В моей странице aspx порядок файлов js:

<script type="text/javascript" src="js/1.js"></script>      
<script type="text/javascript" src="js/2.js?"></script> 

Я знаю, что вопрос задавался много раз, но мне кажется, что ни один из ответов не работает.

 Dave Newton08 дек. 2017 г., 05:17
JS не работает так.test находится в области функции, в которой она определена, здесь анонимная функция передается ярлыку DOMReady в jQuery.

Ответы на вопрос(2)

Решение Вопроса

Убедитесь, что вашvar test находится не внутри функции, и ваш файл загружен в правильном порядке. В вашем первом файле используйте что-то вроде

<script type="text/javascript">
  var test = "myVar"
</script>
// Now here include your js file too JS file 
// Or set in window scope like window.test="myVar";

И в твоемJS file использовать как

$(function() {
  alert(test);
  // alert(window.test);
});

Переменная в глобальной области видимости может быть доступ из всех файлов JavaScript. Ваш первый файл JS

Вот другой способ.

//first.js file don't put variable inside any function here.
var globalVariable={
   test: 'myVar'
};

И ваш второй файл JS

//second.js file
alert(globalVariable.test);

И в HTML-страницу добавить

<script type="text/javascript" src="first.js"></script> 
<script type="text/javascript" src="second.js"></script> 

Больше здесь

Вы можете использоватьsessionStorage хранить значение переменной

$(document).ready(function () {
  sessionStorage.setItem('test ', 'Hello');
});

В следующем файле получить его с помощью

$(function () {
       function getData(){
         var data = sessionStorage.getItem('test');
            alert(data );
       }
   });

Обратите внимание, что файл 1.js должен быть загружен до 2.js

 charlietfl08 дек. 2017 г., 05:36
Важно отметить, что в хранилище хранятся только строки .... логические значения и числа должны быть приведены к типу при извлечении, а массивы / объекты должны быть преобразованы в строку и проанализированы

Ваш ответ на вопрос