請問以下幾個問題,想確認XQ腳本的變數作用範圍,是否跟自己想的一樣,謝謝~
1. 請問變數是否有區分全域變數或區域變數?
假設有區域變數:
1-1. 在 IF 區塊裡宣告 Var 變數,只限於在 IF 區塊內使用,才能確保值是正確的?
若在 IF 區塊外使用,就算編譯會過,也可能只是取到記憶體殘留值?
假設只有全域變數:
1-2. 等於在腳本任意地方宣告 Var 變數,那對這腳本而言,變數都是全域可正常使用的?
1-3. 我可以把所有變數,都宣告在腳本首次執行時嗎? 對提升效能有幫助?
if isfirstcall("") then begin {宣告所有變數} end;
2. 其他腳本使用函數的狀況
2-1. 若函數腳本內宣告 Var 變數 X,主要腳本使用了這個函數,並且也宣告了同名的變數 X,那個這二個同名 X 變數值會不會互相干擾? 還是獨立使用各自的記憶體空間?
2-2. 假設函數為 abc(i,j),它對主要腳本而言,abc 也是個序列值?
我能用 abc(i,j)[偏移值] 來取得先前的執行結果嗎?
4 評論