admin管理员组

文章数量:1194361

How can I call the variables that I stored in one javascript file from another?

var.js

var VAR = new Object;
VAR.myvalue = "Yeah!";

then I want to use VAR.myvalue here

sample.js

alert(VAR.myvalue);

How can I call the variables that I stored in one javascript file from another?

var.js

var VAR = new Object;
VAR.myvalue = "Yeah!";

then I want to use VAR.myvalue here

sample.js

alert(VAR.myvalue);
Share Improve this question edited Dec 2, 2011 at 3:42 Kevin 56k15 gold badges105 silver badges136 bronze badges asked Dec 2, 2011 at 3:01 Robin Carlo CatacutanRobin Carlo Catacutan 13.7k12 gold badges54 silver badges86 bronze badges 2
  • Did you include var.js before sample.js? And maybe put the alert somewhere it's sure to get called? – Kevin Commented Dec 2, 2011 at 3:42
  • Yes, I did. It seems there's problem with new Object on widget, because I've tried this sample on a simple html and it works. – Robin Carlo Catacutan Commented Dec 2, 2011 at 4:13
Add a comment  | 

3 Answers 3

Reset to default 12

First, instead of

var VAR = new Object;
VAR.myvalue = "Yeah!";

Opt for

var VAR = {
    myvalue: "Yeah!"
 };

But so long as var.js is referenced first, before sample.js, what you have should work fine.

var.js will declare, and initialize VAR, which will be read from the script declared in sample.js

Include both JavaScript file in one HTML file, place sample.js after var.js so that VAR.myvalue is valid:

<script type="text/javascript" src="var.js"></script>
<script type="text/javascript" src="sample.js"></script>

Try separating your scope using a module pattern. This will eliminate headaches in the future.

var.js

var someVar = (function () {
  var total = 10; // Local scope, protected from global namespace

  return {
    add: function(num){
      total += num;
    }
  , sub: function(num){
      total -= num;
    }
  , total: function(){
      return total;
    }
  };
}());

Then you can use that object's methods and properties from anywhere else.

sample.js

someVar.add(5);
someVar.sub(6);
alert(someVar.total());

本文标签: Call variables from one javascript file to anotherStack Overflow