3

メソッドレベル変数のスコープを定義する最良の方法は何ですか?

一部の ColdFusion ドキュメントでは、次のように行う必要があると述べています。

 <cfset Var testVariable = "this is a local variable">

しかし、他の人は次のようにします:

<cfset LOCAL = StructNew() />
<cfset LOCAL.testVariable  = StructNew() />

どちらの方法が良いですか?

4

1 に答える 1

4

どちらでも動作します。

CF9 (および私は 10 を想定) では、各関数内にローカル スコープの値を含むローカル スコープがあるため、 var local = structNew() は不要です (ただし、無害であり、コードの後方互換性が確保されます)。また、CF8 以前では、これらの変数は関数内で最初に宣言する必要があります。

したがって、具体的にあなたの質問に答えるために、私は var local = structNew() (または単に var local={}) を好みます。

  • これは、ローカルにスコープされた変数が明らかにそのようなものであることを意味します (var スコープの問題はデバッグが面倒な場合があります)。
  • cf 8 でローカルの「スコープ」をダンプまたは調べることができます。
于 2012-05-04T07:45:04.750 に答える