Loading article…
CFScript は、 ColdFusion プラットフォーム上のCFMLの拡張機能です。CFScript はJavaScriptに似ています。通常の CFML よりも視覚的および印刷上のオーバーヘッドが少ないため、一部の ColdFusion開発者はCFScript を好みます。 [説明が必要]
使用法
純粋なスクリプトベースの ColdFusion コンポーネント内にある場合を除き、すべての CFScript コードは次のように CFScript タグ ペア内に含める必要があります。
<cfscript>
xParam = 115 ;
yParam = 200 ;
色 = 'FFCC99' ;
</cfscript>
関数の簡単な例:
<cfscript>
関数 Sum ( a , b ) {
var sum = a + b ;
return sum ;
}
</cfscript>
2 つの関数を含む CFScript のコンポーネントの簡単な例:
コンポーネント{ public void function foo () { WriteOutput ( "メソッド foo() が呼び出されました<br/>" ); }
パブリック関数getString () { var x = "hello" ;戻り値x ; } }
ColdFusion 11、Railo 4.1+、およびLucee 4.5+ はどちらも、CFScript の cf タグを完全にサポートするために最善を尽くしています。すべてのタグを直接置き換えることはできないかもしれませんが、異なる構文を使用して、スクリプト内のタグの結果を実現することは可能です。たとえば、UDFを記述せずに CFSCRIPT の変数にクエリを取得する方法は次のとおりです。
<cfscript>
qGetData = new Query ();
qGetData.setDataSource ( '#Application.datasource#' );
qGetData.setSQL ( 'SELECT column1, column2 FROM table WHERE 1' );
qDateResult = qGetData.Execute (). getResult ();
</cfscript>
構文
ColdFusion 8以降、CFScriptは「++」、「<="」、「+="」など、他の多くのプログラミング言語で一般的な構文の省略形をサポートしています。 [1]
算術演算子
コメント
CFScript には、単一行と複数行の 2 つの形式のコメントがあります。
// これは 1 行コメントです。//
これは 2 番目の 1 行コメントです。
/* これは複数行のコメントです。
各行をコメントインジケータで始める必要はありません。
この行はコメントの最後の行です。 */
トライ/キャッチ
try { throw ( message = "Oops" , detail = "xyz" ); } catch ( any e ) { WriteOutput ( "エラー: " & e . message ); rethrow ; } finally { WriteOutput ( "エラーがなくても実行します" ); }
スイッチ文
switch (車) { case "Nissan" : WriteOutput ( "私は日産を所有しています" ); break ; case "Toyota" : WriteOutput ( "私はトヨタを所有しています" ); break ; default : WriteOutput ( "私はエキゾチックです" ); }
ループ
forループ
for ( i = 1 ; i <= ArrayLen (配列); i = i + 1 ) { WriteOutput (配列[ i ] ); }
FOR IN ループ
struct = StructNew (); struct . one = "1" ; struct . two = "2" ; for ( key in struct ) { WriteOutput ( key ); } //出力 onetwo
whileループ
x = 0 ; while ( x < 5 ) { x = x + 1 ; WriteOutput ( x ); } // 出力: 12345
Do / while ループ
x = 0 ; do { x = x + 1 ; WriteOutput ( x ); } while ( x <= 0 ); // 出力: 1
配列のループ
for (配列内の項目) { doSomething (項目); }
JavaScriptとの違い
CFScript と JavaScript は似ていますが、いくつかの重要な違いがあります。次のリストは、JavaScript と異なる CFScript の機能を示しています。
- CFScript は ColdFusion式を使用しますが、これは JavaScript 式のスーパーセットでもサブセットでもありません。特に、ColdFusion 式はビット演算子 をサポートしておらず、ColdFusion MOD または % 演算子は対応する JavaScript % 演算子とは動作が異なります。ColdFusion では、演算子は整数演算を実行し、小数部を無視します。ColdFusion 式は、JavaScript ではサポートされていない EQV、IMP、CONTAINS、および DOES NOT CONTAIN 演算子もサポートしています。
- 変数宣言(var キーワード) は、ユーザー定義関数とスレッドでのみ使用されます。
- CFScript では大文字と小文字は区別されません。
- すべてのステートメントはセミコロンで終了し、コード内の改行は無視されます。
- 代入は式ではなく文であるため、代入演算を評価する必要がある状況では使用できません。
windowやなどの JavaScript オブジェクトはdocument使用できません。- CFScript を処理するのは ColdFusion サーバーのみです。クライアント側の CFScript はありません。
参考文献
- ^ Nadel, Ben (2007 年 5 月 31 日)。「ColdFusion 8 の学習: 新しい ++ 演算子の登場」。
外部リンク
- CFML スクリプトによる ColdFusion ページの拡張 - Adobe
- [1]
