在我的UDF和組件中,我一直使用功能local
範圍而不是var
關鍵字。我有本地範圍模式設置爲「始終」服務器範圍內,所以我沒有明確使用本地關鍵字(除非我在與衝突字段名稱的cfquery循環內)。是否有任何我應該知道的副作用?或者我能否始終將var和local當作等效對象?Railo中的var和局部範圍變量之間是否有明顯區別?
我並不擔心這是不錯的編程練習,還是向後兼容,好的風格或其他「非實際」原因。我具體詢問它是否會影響應用程序的性能或內存使用,線程安全性或其他影響。
我將許多函數和組件緩存在應用程序和會話等共享作用域中,所以我特別好奇它是否會暴露通常不會出現的差異。我記得當我這樣做時,CFMX6.1曾經像瘋了一樣泄漏內存,但我沒有注意到Railo下的任何類似效果。
這個問題涉及Railo 3.3和4.0+,因爲我有不同的版本運行。
回答這個問題的唯一方法是閱讀[源代碼](https://github.com/getrailo/railo)並檢查它們是如何實現的。 –
您最好在Railo Google羣組上詢問這類問題:https://groups.google.com/forum/#!forum/railo。在這裏,您只需獲得社區開發人員和他們的猜測;在那裏,你會讓Micha成爲Railo開發人員的回答。 –