How to get the value of the variable in the different javascript file?

test.html

 <script src="jsv/test1.js"></script>
 <script src="jsv3/test2.js"></script>

test1.js:

(function ($) {
  var settings = {
    taphold_threshold: 750,
    hold_timer: null,
    tap_timer: null
  };)
};

test2.js:

var Navigation = {
  init: function () {
    self = this;
    $('#button').live(tapMode, function () {
      alert(settings[taphold_threshold]);
    });
  }
}

I would like to get the value of settings : taphold_threshold, but it seems i can not get the value by simply alert it. test2.js is the caller and test1.js is callee. It should be some scope problem. How to get the value (750) ? Thanks


The problem is indeed scope - settings will be in an anonymous scope which is not available outside of the closure.

You could change test1 to have a sort of "namespace" - say something like global (although I would personally use a more descriptive name than global).

var global = {};
global.settings = {
    taphold_threshold: 750,
    hold_timer: null,
    tap_timer: null
  };

The from test2 you can use:

alert(global.settings.taphold_threshold);