原來回答
hitywt
04-22 09:33
等級5樓 在定義的變數是jsp的本地變數,它們對於外部函式是不可見的,即使這些函式和變數在同一頁面中宣告。如:
int evilvariable = "666";
%>
...function testfunction()
為什麼呢?這是因為變數evilvariable最終成為結果servlet中service()方法的乙個本地變數,因此它不能被結果servlet的其它方法訪問。
對於在中宣告的變數將作為全域性變數。如:
int evilvariable = "666";
%>
...function testfunction()
這是因為通過這種方式定義的evilvariable變數變為了結果servlet的乙個私有成員變數,因此它可以被servlet中的所有的方法訪問。
結論理解以上的概念是很重要的,因為在servlet環境中,對於乙個jsp頁只允許有乙個結果servlet的例項在執行和響應所有的頁面請求。因此,在結果servlet中所有的成員變數可以被所有的請求所共享,而service()方法中的本地變數只能每響應一次請求就重建一次。故我們將變數放置到標籤中時,應注意以上的規則。
結論:
全域性變數和區域性變數
全域性變數 可以被不同的函式 類或檔案呼叫的變數,在函式外定義。區域性變數 只能在函式內使用,定義在函式內。區域性變數的使用 class myclass def myfun num 12 print myfun num num 正確 def myfun2 num num 1 print mufun ...
全域性變數和區域性變數
區域性變數 在方法中開闢的變數,只在方法中有效 區域性變數在定義時不會初始化,要顯式的給它乙個值 如未給它乙個初始值,雖然編譯的時候會通過,但是執行的時候會產生為初始化錯誤!方法呼叫 執行完,區域性變數便會自動釋放。在方法內的語句塊中建立的變數在編譯時假如未初始,如若使用,也會報未初始化錯誤!呼叫的...
全域性變數和區域性變數
通常的認為是定義在函式外面的就稱之為全域性變數 函式體內的稱之為區域性變數 在函式中與全域性變數同名的時候 情形1 函式內部的變數名如果第一次出現,且出現在 前面,即被視為定義乙個區域性變數。num 100 定義乙個全域性變數 defdemo num 100 這裡面的實際上是定義了乙個區域性的變數 ...