从另一个脚本源访问变量
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`
<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`