我有两个javascript文件包括在我的网站的标题。这两个文件包含几乎相同的变量。
如果我有像这样的标题
<head>
<script src="http://127.0.0.1/js/file1.js" type="text/javascript"></script>
<script src="http://127.0.0.1/js/file2.js" type="text/javascript"></script>
</head>是否可以从file2.js访问file1.js中定义的var?
这就是我正在尝试的
file1
$(function() {
var x = 1;
});
file2
$(function() {
console.log(x); //This dosen`t work. Can`t access var
});发布于 2010-10-05 22:27:03
你这样做是不可能的。变量必须存在于全局作用域中,才能跨文件使用。在您的示例中,x是在匿名函数的范围内定义的。如果您将其更改为
// file1
var x;
$(function() {
x = 1;
}); 然后,您可以从第二个文件访问x。
发布于 2010-10-05 22:11:41
是的,这应该行得通。只要变量是一个脚本中的全局变量,它就会出现在另一个脚本中。
发布于 2010-10-05 22:11:51
是的,您在DOM中有一个全局对象,两个文件都向该对象写入变量。基本上,如果file1说:
foo = bar;然后,您可以在file2中访问foo
如果要显式声明全局变量,可以使用window对象,它是网页中的全局对象:
window.foo = 'bar';有关全局对象的更多信息:http://www.quirksmode.org/js/this.html
https://stackoverflow.com/questions/3864427
复制相似问题