Content deleted Content added
Noahfgodard (talk | contribs) No edit summary |
SimLibrarian (talk | contribs) m rm contraction Tags: Mobile edit Mobile app edit iOS app edit App section source |
||
(6 intermediate revisions by 6 users not shown) | |||
Line 1:
{{More citations needed|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>
A simple example of a component in CFScript, containing two functions:
<
component {
public void function foo() {
Line 40 ⟶ 35:
}
}
</syntaxhighlight>
ColdFusion 11, [[Railo]] 4.1+, and [[Lucee]] 4.5+ both do their best to fully support cf tags in CFScript.
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>{{Cite web|url=https://www.bennadel.com/blog/741-learning-coldfusion-8-all-hail-the-new-operator.htm|title=Learning ColdFusion 8: All Hail The New ++ Operator|last=Nadel|first=Ben|date=May 31, 2007|website=|archive-url=|archive-date=|access-date=}}</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}}
|