我已閱讀關於此主題的一些其他問題,許多人說如果我在我的函數之外聲明變量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(){...})') –