ColdFusion 9.0 Resources |
The CFScript languageThe CFScript language syntax is similar to other scripting languages, and has the same types of elements. Identifying CFScriptYou enclose CFScript regions inside <cfscript> and </cfscript> tags. No other CFML tags are allowed inside a cfscript region. The following lines show a minimal script: <cfscript> a = 2; </cfscript> VariablesCFScript variables can be of any ColdFusion type, such as numbers, strings, arrays, queries, and objects. The CFScript code can read and write any variables that are available in the page that contains the script. These variables include all shared scopes, such as session, application, and server variables. Expressions and operatorsCFScript supports all CFML expressions. CFML expressions include operators (such as +, -, EQ, and so on), as well as all CFML functions. You can use several comparison operators in CFScript only, not in CFML tags. (You can also use the corresponding CFML operators in CFScript.) The following table lists the CFScript-only operators and the equivalent operator that you can use in CFML tags or CFScript:
For information about CFML expressions, operators, and functions, see Using Expressions and Number Signs. StatementsCFScript supports the following statements:
The following rules apply to statements:
Note: For information on the function, var,
and return statements, see Defining functions in CFScript.
Statement blocksCurly bracket characters ({ and }) group multiple CFScript statements so that they are treated as a single unit or statement. This syntax enables you to create code blocks in conditional statements, such as the following: if(score GT 0) { result = "positive"; Positives = Positives + 1; } In this example, both assignment statements are executed if the score is greater than 0. If they were not in the code block, only the first line would execute. You do not have to place curly bracket characters on their own lines in the code. For example, you could place the open curly bracket in the preceding example on the same line as the if statement, and some programmers use this style. However, putting at least the ending brace on its own line makes it easier to read the code and separate code blocks. CommentsCFScript has two forms of comments: single line and multiline. A single line comment begins with two forward slashes (//) and ends at the line end; for example: //This is a single-line comment. //This is a second single-line comment. A multiline comment starts with a /* marker and continues until it reaches a */ marker; for example: /*This is a multiline comment. You do not need to start each line with a comment indicator. This line is the last line in the comment. */ The following rules apply to comments:
Reserved wordsIn addition to the names of ColdFusion functions and words reserved by ColdFusion expressions (such as NOT, AND, IS, and so on), the following words are reserved in CFScript. Do not use these words as variables or identifiers in your scripting code:
Differences from JavaScriptAlthough CFScript and JavaScript are similar, they have several key differences. The following list identifies CFScript features that differ from JavaScript:
CFScript limitationYou cannot include ColdFusion tags in CFScript. However, you can include cfscript blocks inside other ColdFusion tags, such as cfoutput. CFScript functional equivalents to ColdFusion tags
For example, the following example loops through a query in CFScript: ... <cfscript> // Loop through the qGetEmails RecordSet for (x = 1; x <= qGetEmails.RecordCount; x=x+1) { This_id = qGetEmails.Emails_id[x]; This_Subject = qGetEmails.Subject[x]; This_RecFrom = qGetEmails.RecFrom[x]; This_SentTo = qGetEmails.SentTo[x]; This_dReceived = qGetEmails.dReceived[x]; This_Body = qGetEmails.Body[x]; ... // More code goes here. } </cfscript> |