如何声明、设置和访问从一个函数到另一个函数全局变量?
var testvar;
$(document).ready(function(){
test1();
});
function test1(){
return testvar;
}
function test2(){
var a = "Hellow World";
testvar = a;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
上面的代码只是我的示例,以便于理解我正在尝试做什么。这只是出于教育目的。我只是想以这种方式获得结果。或者有没有一种方法可以在函数内设置一个全局变量,并将其用于该函数外的另一个函数?
4条答案
按热度按时间up9lanfz1#
怎么办?
在全局作用域中创建变量是一个非常不好的做法。你不应该这么做,因为它会导致冲突,特别是在未来的JavaScript版本中。
你可以从作用域或对象运行函数,试试:
工作原理
简单地说,这将存储对象(
shared
)中的所有变量。您可以通过使用this.
而不是var
来声明 “共享变量”。通过使用.call()
,我们可以选择在对象的作用域中运行函数。我不擅长解释,了解更多here∮ ∮ ∮
dfty9e192#
全局变量总是可以从任何地方访问的。但这可能会帮助你更好地理解它:
ecbunoof3#
test2()未被调用。需要调用它来重新声明变量
https://jsfiddle.net/uwzapwrk/
bf1o4zei4#
我用这个方法,它对我很有效
此方法在执行somefunctionname()之后工作,您可以执行另一个函数名(),其中变量存储在somefunctionname()上