Content deleted Content added
Consistent syntax; formatting: 17x whitespace, 4x heading-style (using Advisor.js) |
SimLibrarian (talk | contribs) m rm contraction Tags: Mobile edit Mobile app edit iOS app edit App section source |
||
(16 intermediate revisions by 14 users not shown) | |||
Line 1:
▲{{refimprove|date =November 2006}}
'''CFScript''' is an extension of [[ColdFusion Markup Language|CFML]] on the ColdFusion platform. CFScript resembles [[JavaScript]]. Some ColdFusion [[Software Developers|developers]] prefer it since it has less visual and typographical overhead than ordinary CFML.{{Clarify|reason=|date=March 2020}}
== Usage ==
Unless it is within a pure script-based ColdFusion Component, all CFScript code must be contained within a CFScript tag pair as follows:
▲<source lang="cfm">
<cfscript>
</cfscript>
</syntaxhighlight>
A simple example of a [[Subroutine|function]]:
<
<cfscript>
function Sum(a, b) {
Line 26 ⟶ 21:
}
</cfscript>
</syntaxhighlight>
<
component {
public void function foo() {
Line 40 ⟶ 35:
}
}
</syntaxhighlight>
ColdFusion 11,
While there may not be direct substitutions for all tags, it is often still possible to achieve the results of a tag in script, but via a different syntax. For example, this is how to get a query into a variable in CFSCRIPT without writing a [[User-defined function|UDF]]:
<
<cfscript>
</cfscript>
</syntaxhighlight>
== Syntax ==
Since ColdFusion 8, CFScript has supported [[Syntax (programming languages)|syntax]] abbreviations that are common in many other programming languages, such as "++", "<=" and "+=".<ref>
=== Arithmetic operators ===
Line 87 ⟶ 82:
=== Comments ===
CFScript has two forms of comments: single line and multiline.
<
// This is a single-line comment.
// This is a second single-line comment.
</syntaxhighlight>
<
/* 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. */
</syntaxhighlight>
=== Try /
<
try {
throw(message="Oops", detail="xyz");
Line 108 ⟶ 103:
WriteOutput("I run even if no error");
}
</syntaxhighlight>
=== Switch statement ===
<
switch (car) {
case "Nissan":
Line 122 ⟶ 117:
WriteOutput("I'm exotic");
}
</syntaxhighlight>
=== Looping ===
==== For
<
for (i=1; i
WriteOutput(array[i]);
}
</syntaxhighlight>
==== FOR IN Loop ====
<
struct = StructNew();
struct.one = "1";
Line 142 ⟶ 137:
}
//OUTPUTS onetwo
</syntaxhighlight>
==== While
<
x = 0;
while (x
x = x + 1;
WriteOutput(x);
}
// Outputs: 12345
</syntaxhighlight>
==== Do /
<
x = 0;
do {
x = x + 1;
WriteOutput(x);
} while (x
// Outputs: 1
</syntaxhighlight>
==== Looping over an
<
for (item in array) {
doSomething(item);
}
</syntaxhighlight>
== Differences from JavaScript ==
Although CFScript and JavaScript are similar, they have several key differences. The following list identifies CFScript features that differ from JavaScript:
* CFScript uses ColdFusion
*[[Variable declaration|Variable declarations]] (var keyword) are only used in user-defined functions and threads.
* CFScript is not case sensitive.
* All statements end with a semicolon, and line breaks in the code are ignored.
Line 187 ⟶ 182:
== External links ==
* [http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7feb.html Extending ColdFusion Pages with CFML Scripting - Adobe]
* [https://helpx.adobe.com/coldfusion/developing-applications/the-cfml-programming-language/extending-coldfusion-pages-with-cfml-scripting.html]
{{DEFAULTSORT:Cfscript}}
|