从另一个脚本源访问变量

Access variable from another script source

<script src="http://domain.com/source1.js"></script>
<script src="http://domain.com/source2.js"></script>

source1.js

var PICTURE_PATH = "";
var PICTURE_ROOT = base_url+"YOUTAILOR_files/";
var PROGRAM = parseInt("1");

source2.js

 if(PROGRAM==3 || PROGRAM==4 || PROGRAM==5)
 {
 }

我无法访问 source2.js 中程序的值..

当您在函数外部声明 var source1Var 时,您实际上是在 window 对象上创建一个变量。所以你应该只能从 source2.js 访问它。只要确保 source1.js 在脚本标签中的 source2.js 之前...

但是,如果您在一个函数中声明它,它将对该函数私有。如果你真的需要,你可以明确地在 window 上设置它。

在source1.js

function foo() {
   window.source1Var = 3;
}

在source2.js

function bar() {
   console.log(source1Var); // this will search window if it cannot find in the local scope.
}

您要解决的问题是什么?通常最好使用某种形式的依赖注入、事件侦听器、构建器模式等,而不是使用全局变量。

在你的第一个 .js 中做一些类似的事情

var VAR = {
    myvalue: "hai"
 };

然后像

一样在第二个调用它
alert(VAR.myvalue);

这比您想象的要容易。如果变量是全局的,你应该从任何地方访问它。

// source1.js
var colorCodes = {

  back  : "#fff",
  front : "#888",
  side  : "#369"

};

在另一个文件中:

// source2.js
alert (colorCodes.back); // alerts `#fff`