我已阅读关于此主题的一些其他问题,许多人说如果我在我的函数之外声明变量varA
(在全局范围内),它是一个全局函数,所以它可以被任何函数使用和更新,对吗?无法更新函数内部的全局变量并将其称为外部函数(jQuery)
现在,我有这个例子,我在函数外声明一个变量,在函数内部改变它,但是当我在函数外调用它时,它显示为undefined
,如果我要在函数内部调用它它被改变了。
$(document).ready(function() {
var varA;
$(function() {
varA = 'varA has been altered!';
alert(varA); //displays 'varA has been altered!'
});
alert(varA); //displays 'undefined'
});
这似乎并不符合逻辑的我,当我改变了一个全局变量,应该不是第二alert();
显示varA
价值?
什么是解决此问题的方法?我怎样才能改变一个函数内的全局变量,并获得该函数之外的值?
干杯
编辑:
我需要能够访问varA
在一个以上的功能,所以它需要前$(function() {});
由于'varA'是在函数内声明的,它仍然可以在全局范围内访问吗?我可以在功能外使用它吗? –
不,你不能,因为变量被绑定到函数作用域。如果您想在功能之外访问它,请在外部声明。 – mc10
当我在函数上面声明'varA'时,它仍然显示为未定义的('var varA; $(function(){...})') –