1

I have 2 js files: 1.js and 2.js.
In 1.js I have a variable

var test ='Hello';

I'm trying to access the variable in 2.js

alert(test);

Sample Code:
1.js :

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

2.js :

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

In my aspx page order of js files:

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

I know the question is asked before many times but none of the answers seems to work for me.

1
  • JS doesn’t work like that. test is scoped to the function it’s defined in, here the anonymous function passed in to jQuery’s DOMReady shortcut. Commented Dec 8, 2017 at 4:17

2 Answers 2

1

Make sure your var test is not inside a function and that your file is load in the correct order. In your first file use something like

<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";

And in your JS file use like

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

A variable in global scope can be access from all javascript file. Your first js file

Here is another way.

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

And your second js file

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

And in html page add

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

More from here

Sign up to request clarification or add additional context in comments.

Comments

0

You can use sessionStorage to store the variable value

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

In the next file retrieve it using

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

Note the file 1.js need to be loaded before 2.js

1 Comment

Important to note storage only stores strings....booleans and numbers need to be type cast on retrieval and arrays/objects need to be stringified and parsed

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.