Evaluate は主に、フォーム変数などの動的に名前が付けられた変数を評価するために使用されます。フォームから送信される可能性のあるフォーム変数がわからない場合は、FORM.fieldnames にアクセスしてフィールド名を単純にループできます。
(http://cfprimer.blogspot.com/2005/03/void-evaluate.html)。14 年間 CF をコーディングしてきましたが、CF が使用されているのはほんの数回しか見たことがありません。私の意見では、どのフォーム要素が送信されるかを前もってわからないように設定するのは悪い習慣です。
あなたの例では、インデックスは「要素」に設定されています。したがって、ループしている間、「フィールド名」のリストにあるものはすべて要素になります。
これらのフィールド名を出力したい場合は、次のようにします。
<cfset fieldnames = "firstname,lastname,email">
<cfoutput>
<cfloop index="element" list="#fieldnames#">
#element#<br>
</cfloop>
</cfoutput>
これは次のように出力されます。
firstname
lastname
email